]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoWhen no floppy is found the module code can be released while a timer
Carsten Emde [Wed, 3 Aug 2011 00:52:32 +0000 (10:52 +1000)]
When no floppy is found the module code can be released while a timer
function is pending or about to be executed.

CPU0                                  CPU1
      floppy_init()
timer_softirq()
   spin_lock_irq(&base->lock);
   detach_timer();
   spin_unlock_irq(&base->lock);
   -> Interrupt
del_timer();
        return -ENODEV;
                                      module_cleanup();
   <- EOI
   call_timer_fn();
   OOPS

Use del_timer_sync() to prevent this.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoBecause of x86-implement-strict-user-copy-checks-for-x86_64.patch
KAMEZAWA Hiroyuki [Wed, 3 Aug 2011 00:52:32 +0000 (10:52 +1000)]
Because of x86-implement-strict-user-copy-checks-for-x86_64.patch

When compiling mm/mempolicy.c the following warning is shown.

In file included from arch/x86/include/asm/uaccess.h:572,
                 from include/linux/uaccess.h:5,
                 from include/linux/highmem.h:7,
                 from include/linux/pagemap.h:10,
                 from include/linux/mempolicy.h:70,
                 from mm/mempolicy.c:68:
In function `copy_from_user',
    inlined from `compat_sys_get_mempolicy' at mm/mempolicy.c:1415:
arch/x86/include/asm/uaccess_64.h:64: warning: call to `copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct
  LD      mm/built-in.o

Fix this by passing correct buffer size value.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoOn thread exit shm_exit_ns() is called, it uses shm_ids(ns).rw_mutex. It
Vasiliy Kulikov [Wed, 3 Aug 2011 00:52:32 +0000 (10:52 +1000)]
On thread exit shm_exit_ns() is called, it uses shm_ids(ns).rw_mutex.  It
is initialized in shm_init(), but it is not called yet at the moment of
kernel threads exit.  Some kernel threads are created in
do_pre_smp_initcalls(), and shm_init() is called in do_initcalls().

Static initialization of shm_ids(init_ipc_ns).rw_mutex fixes the race.

It fixes a kernel oops:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
[<c0320090>] (__down_write_nested+0x88/0xe0) from [<c015da08>] (exit_shm+0x28/0x48)
[<c015da08>] (exit_shm+0x28/0x48) from [<c002e550>] (do_exit+0x59c/0x750)
[<c002e550>] (do_exit+0x59c/0x750) from [<c003eaac>] (____call_usermodehelper+0x13c/0x154)
[<c003eaac>] (____call_usermodehelper+0x13c/0x154) from [<c000f630>] (kernel_thread_exit+0x0/0x8)
Code: 1afffffa e597c00c e58d0000 e587d00c (e58cd000)

Reported-by: Manuel Lauss <manuel.lauss@googlemail.com>
Reported-by: Richard Weinberger <richard@nod.at>
Reported-by: Marc Zyngier <maz@misterjones.org>
Tested-by: Manuel Lauss <manuel.lauss@googlemail.com>
Tested-by: Richard Weinberger <richard@nod.at>
Tested-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThis patch makes two changes:
Will Drewry [Wed, 3 Aug 2011 00:52:30 +0000 (10:52 +1000)]
This patch makes two changes:
- check for trailing characters after parsing PARTNROFF=%d
- disable root_wait if a syntax error is seen

The former assures that bad input like
  root=PARTUUID=<validuuid>/PARTNROFF=5abc
properly fails by attempting to parse an extra character after the
integer.  If the integer is missing, sscanf will fail, but if it is
present, and there is a trailing non-nul character, then the extra
field will be parsed and the error case will be hit.

The latter assures that if rootwait has been specified, the error
message isn't flooded to the screen during rootwait's loop.  Instead of
adding printk ratelimiting, root_wait was disabled.  This stays true to
the rootwait goal of support asynchronous device arrival while still
providing users with helpful messages.  With ratelimiting or disabling
logging on rootwait, a range of edge cases turn up where the user would
not be informed of an error properly.

Signed-off-by: Will Drewry <wad@chromium.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoExpand root=PARTUUID=UUID syntax to support selecting a root partition by
Will Drewry [Wed, 3 Aug 2011 00:52:30 +0000 (10:52 +1000)]
Expand root=PARTUUID=UUID syntax to support selecting a root partition by
integer offset from a known, unique partition.  This approach provides
similar properties to specifying a device and partition number, but using
the UUID as the unique path prior to evaluating the offset.

For example,
  root=PARTUUID=99DE9194-FC15-4223-9192-FC243948F88B/PARTNROFF=1
selects the partition with UUID 99DE.. then select the next
partition.

This change is motivated by a particular usecase in Chromium OS where the
bootloader can easily determine what partition it is on (by UUID) but
doesn't perform general partition table walking.

That said, support for this model provides a direct mechanism for the user
to modify the root partition to boot without specifically needing to
extract each UUID or update the bootloader explicitly when the root
partition UUID is changed (if it is recreated to be larger, for instance).
 Pinning to a /boot-style partition UUID allows the arbitrary root
partition reconfiguration/modifications with slightly less ambiguity than
just [dev][partition] and less stringency than the specific root partition
UUID.

Signed-off-by: Will Drewry <wad@chromium.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoMerge remote-tracking branch 'moduleh/module.h-split'
Stephen Rothwell [Fri, 5 Aug 2011 02:29:14 +0000 (12:29 +1000)]
Merge remote-tracking branch 'moduleh/module.h-split'

Conflicts:
drivers/dma/ste_dma40.c
drivers/staging/dt3155v4l/dt3155v4l.c

12 years agoMerge remote-tracking branch 'tmem/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 02:23:59 +0000 (12:23 +1000)]
Merge remote-tracking branch 'tmem/linux-next'

12 years agoMerge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 02:22:32 +0000 (12:22 +1000)]
Merge remote-tracking branch 'regmap/for-next'

12 years agoMerge remote-tracking branch 'namespace/master'
Stephen Rothwell [Fri, 5 Aug 2011 02:21:11 +0000 (12:21 +1000)]
Merge remote-tracking branch 'namespace/master'

12 years agoMerge remote-tracking branch 'sysctl/master'
Stephen Rothwell [Fri, 5 Aug 2011 02:19:53 +0000 (12:19 +1000)]
Merge remote-tracking branch 'sysctl/master'

12 years agoMerge remote-tracking branch 'drivers-x86/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 02:18:06 +0000 (12:18 +1000)]
Merge remote-tracking branch 'drivers-x86/linux-next'

Conflicts:
Documentation/feature-removal-schedule.txt

12 years agoMerge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 02:16:43 +0000 (12:16 +1000)]
Merge remote-tracking branch 'percpu/for-next'

12 years agoMerge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 02:15:13 +0000 (12:15 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'

12 years agoMerge remote-tracking branch 'kvm/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 02:13:51 +0000 (12:13 +1000)]
Merge remote-tracking branch 'kvm/linux-next'

12 years agoMerge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Fri, 5 Aug 2011 02:13:39 +0000 (12:13 +1000)]
Merge remote-tracking branch 'devicetree/devicetree/next'

Conflicts:
drivers/of/base.c

12 years agoMerge remote-tracking branch 'i7300_edac/linux_next'
Stephen Rothwell [Fri, 5 Aug 2011 02:03:14 +0000 (12:03 +1000)]
Merge remote-tracking branch 'i7300_edac/linux_next'

12 years agoMerge remote-tracking branch 'i7core_edac/linux_next'
Stephen Rothwell [Fri, 5 Aug 2011 02:01:44 +0000 (12:01 +1000)]
Merge remote-tracking branch 'i7core_edac/linux_next'

12 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:59:07 +0000 (11:59 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'

12 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:57:38 +0000 (11:57 +1000)]
Merge remote-tracking branch 'trivial/for-next'

12 years agoMerge remote-tracking branch 'osd/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:56:11 +0000 (11:56 +1000)]
Merge remote-tracking branch 'osd/linux-next'

12 years agoMerge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:55:34 +0000 (11:55 +1000)]
Merge remote-tracking branch 'agp/agp-next'

12 years agoMerge remote-tracking branch 'fbdev/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:53:57 +0000 (11:53 +1000)]
Merge remote-tracking branch 'fbdev/master'

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:52:29 +0000 (11:52 +1000)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:52:22 +0000 (11:52 +1000)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:52:19 +0000 (11:52 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:50:59 +0000 (11:50 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

Conflicts:
drivers/mmc/host/sdhci-esdhc-imx.c

12 years agoMerge remote-tracking branch 'leds/for-mm'
Stephen Rothwell [Fri, 5 Aug 2011 01:50:50 +0000 (11:50 +1000)]
Merge remote-tracking branch 'leds/for-mm'

Conflicts:
drivers/leds/Kconfig

12 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Fri, 5 Aug 2011 01:49:03 +0000 (11:49 +1000)]
Merge branch 'quilt/device-mapper'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:44:52 +0000 (11:44 +1000)]
Merge remote-tracking branch 'block/for-next'

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Fri, 5 Aug 2011 01:43:29 +0000 (11:43 +1000)]
Merge remote-tracking branch 'input/next'

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Fri, 5 Aug 2011 01:42:15 +0000 (11:42 +1000)]
Merge branch 'quilt/rr'

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:40:42 +0000 (11:40 +1000)]
Merge remote-tracking branch 'sound/for-next'

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:39:12 +0000 (11:39 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

Conflicts:
drivers/mtd/maps/lantiq-flash.c
drivers/mtd/maps/pxa2xx-flash.c

12 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:37:42 +0000 (11:37 +1000)]
Merge remote-tracking branch 'bluetooth/master'

12 years agoMerge remote-tracking branch 'async_tx/next'
Stephen Rothwell [Fri, 5 Aug 2011 01:34:44 +0000 (11:34 +1000)]
Merge remote-tracking branch 'async_tx/next'

12 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:34:35 +0000 (11:34 +1000)]
Merge remote-tracking branch 'ibft/master'

12 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:34:30 +0000 (11:34 +1000)]
Merge remote-tracking branch 'swiotlb/master'

12 years agoMerge remote-tracking branch 'acpi/test'
Stephen Rothwell [Fri, 5 Aug 2011 01:31:23 +0000 (11:31 +1000)]
Merge remote-tracking branch 'acpi/test'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:31:15 +0000 (11:31 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

12 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:31:05 +0000 (11:31 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

12 years agoMerge branch 'quilt/kernel-doc'
Stephen Rothwell [Fri, 5 Aug 2011 01:29:47 +0000 (11:29 +1000)]
Merge branch 'quilt/kernel-doc'

12 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:28:31 +0000 (11:28 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

12 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:27:02 +0000 (11:27 +1000)]
Merge remote-tracking branch 'hid/for-next'

12 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:25:34 +0000 (11:25 +1000)]
Merge remote-tracking branch 'vfs/for-next'

12 years agoMerge remote-tracking branch 'xfs/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:24:05 +0000 (11:24 +1000)]
Merge remote-tracking branch 'xfs/master'

12 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:22:38 +0000 (11:22 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

12 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:21:16 +0000 (11:21 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

12 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:21:12 +0000 (11:21 +1000)]
Merge remote-tracking branch 'logfs/master'

Conflicts:
fs/logfs/logfs.h

12 years agoMerge remote-tracking branch 'jfs/next'
Stephen Rothwell [Fri, 5 Aug 2011 01:19:37 +0000 (11:19 +1000)]
Merge remote-tracking branch 'jfs/next'

12 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:18:23 +0000 (11:18 +1000)]
Merge remote-tracking branch 'gfs2/master'

12 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Fri, 5 Aug 2011 01:17:02 +0000 (11:17 +1000)]
Merge remote-tracking branch 'cifs/master'

12 years agoMerge remote-tracking branch 'ceph/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:17:00 +0000 (11:17 +1000)]
Merge remote-tracking branch 'ceph/for-next'

Conflicts:
fs/ceph/export.c

12 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Fri, 5 Aug 2011 01:15:42 +0000 (11:15 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

12 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Fri, 5 Aug 2011 01:14:25 +0000 (11:14 +1000)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

12 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Fri, 5 Aug 2011 01:13:12 +0000 (11:13 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

12 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Fri, 5 Aug 2011 01:11:53 +0000 (11:11 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

12 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:10:28 +0000 (11:10 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

12 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:10:25 +0000 (11:10 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

12 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:09:05 +0000 (11:09 +1000)]
Merge remote-tracking branch 'cris/for-next'

12 years agoMerge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Fri, 5 Aug 2011 01:09:01 +0000 (11:09 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'

12 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:07:47 +0000 (11:07 +1000)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/mach-smdkc210.c

12 years agoMerge remote-tracking branch 'msm/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:06:22 +0000 (11:06 +1000)]
Merge remote-tracking branch 'msm/for-next'

Conflicts:
arch/arm/mach-msm/io.c

12 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:06:11 +0000 (11:06 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/mach-exynos4/pm.c
arch/arm/mach-imx/mm-imx25.c
arch/arm/mach-imx/mm-imx31.c
arch/arm/mach-imx/mm-imx35.c
arch/arm/mach-mx5/mm.c
arch/arm/mach-omap2/cm-regbits-44xx.h

12 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:04:35 +0000 (11:04 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/proc-fns.h
arch/arm/include/asm/tlb.h
arch/arm/mm/context.c
arch/arm/mm/proc-v7.S

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Fri, 5 Aug 2011 01:03:18 +0000 (11:03 +1000)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:35 +0000 (10:59 +1000)]
Merge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'

12 years agoMerge remote-tracking branch 'ide-curent/master'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:28 +0000 (10:59 +1000)]
Merge remote-tracking branch 'ide-curent/master'

12 years agoMerge remote-tracking branch 'staging.current/staging-linus'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:22 +0000 (10:59 +1000)]
Merge remote-tracking branch 'staging.current/staging-linus'

12 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:21 +0000 (10:59 +1000)]
Merge remote-tracking branch 'usb.current/usb-linus'

12 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:19 +0000 (10:59 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

12 years agoMerge remote-tracking branch 'net-current/master'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:17 +0000 (10:59 +1000)]
Merge remote-tracking branch 'net-current/master'

12 years agoMerge remote-tracking branch 'sparc-current/master'
Stephen Rothwell [Fri, 5 Aug 2011 00:59:15 +0000 (10:59 +1000)]
Merge remote-tracking branch 'sparc-current/master'

12 years agoRevert "cpuidle: stop depending on pm_idle"
Stephen Rothwell [Fri, 5 Aug 2011 00:46:06 +0000 (10:46 +1000)]
Revert "cpuidle: stop depending on pm_idle"

This reverts commit a0bfa1373859e9d11dc92561a8667588803e42d8.

12 years agoInitial EXPERIMENTAL implementation of device-mapper thin provisioning
Joe Thornber [Fri, 5 Aug 2011 00:38:11 +0000 (10:38 +1000)]
Initial EXPERIMENTAL implementation of device-mapper thin provisioning
with snapshot support.  The 'thin' target is used to create instances of
the virtual devices that are hosted in the 'thin-pool' target.  The
thin-pool target provides data sharing among devices.  This sharing is
made possible using the persistent-data library in the previous patch.

The main highlight of this implementation, compared to the previous
implementation of snapshots, is that it allows many virtual devices to
be stored on the same data volume, simplifying administration and
allowing sharing of data between volumes (thus reducing disk usage).

Another big feature is support for arbitrary depth of recursive
snapshots (snapshots of snapshots of snapshots ...).  The previous
implementation of snapshots did this by chaining together lookup tables,
and so performance was O(depth).  This new implementation uses a single
data structure so we don't get this degradation with depth.

For further information and examples of how to use this, please read
Documentation/device-mapper/thin-provisioning.txt

Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoThe persistent-data library offers a re-usable framework for the storage
Joe Thornber [Fri, 5 Aug 2011 00:38:10 +0000 (10:38 +1000)]
The persistent-data library offers a re-usable framework for the storage
and management of on-disk metadata in device-mapper targets.

It's used by the thin-provisioning target in the next patch and in an
upcoming hierarchical storage target.

For further information, please read
Documentation/device-mapper/persistent-data.txt

Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoMerge branch 'stable/bug.fixes' into linux-next
Konrad Rzeszutek Wilk [Thu, 4 Aug 2011 22:56:06 +0000 (18:56 -0400)]
Merge branch 'stable/bug.fixes' into linux-next

* stable/bug.fixes:
  xen/trace: Fix compile error when CONFIG_XEN_PRIVILEGED_GUEST is not set

12 years agoxen/trace: Fix compile error when CONFIG_XEN_PRIVILEGED_GUEST is not set
Konrad Rzeszutek Wilk [Thu, 4 Aug 2011 22:42:10 +0000 (18:42 -0400)]
xen/trace: Fix compile error when CONFIG_XEN_PRIVILEGED_GUEST is not set

with CONFIG_XEN and CONFIG_FTRACE set we get this:

arch/x86/xen/trace.c:22: error: ‘__HYPERVISOR_console_io’ undeclared here (not in a function)
arch/x86/xen/trace.c:22: error: array index in initializer not of integer type
arch/x86/xen/trace.c:22: error: (near initialization for ‘xen_hypercall_names’)
arch/x86/xen/trace.c:23: error: ‘__HYPERVISOR_physdev_op_compat’ undeclared here (not in a function)

Issue was that the definitions of __HYPERVISOR were not pulled
if CONFIG_XEN_PRIVILEGED_GUEST was not set.

Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoMerge branch 'upstream' into for-next
Jiri Kosina [Thu, 4 Aug 2011 21:51:40 +0000 (23:51 +0200)]
Merge branch 'upstream' into for-next

12 years agoHID: prodikeys: kfree() NULL pointer cleanup
Bojan Prtvar [Thu, 4 Aug 2011 21:46:48 +0000 (23:46 +0200)]
HID: prodikeys: kfree() NULL pointer cleanup

No need for freeing pm in case when it's not allocated.

Reported-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Bojan Prtvar <prtvar.b@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
12 years agoHID: zydacron: kfree() NULL pointer cleanup
Bojan Prtvar [Thu, 4 Aug 2011 20:43:46 +0000 (22:43 +0200)]
HID: zydacron: kfree() NULL pointer cleanup

Checking for NULL pointers before kfree() is redundant.

Signed-off-by: Bojan Prtvar <prtvar.b@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
12 years agohwmon: (pmbus/lm25066) Ignore byte writes to non-zero pages
Guenter Roeck [Sat, 30 Jul 2011 06:05:25 +0000 (23:05 -0700)]
hwmon: (pmbus/lm25066) Ignore byte writes to non-zero pages

pmbus_clear_faults() attempts to clear faults on non-existing real pages.
As a result, the command error bit in the status register is set, and faults
are not really cleared.

All byte writes to non-zero pages are requests to clear the status register
on that page. Since non-zero pages are virtual and do not exist on the chip,
there is nothing to do, and such requests have to be ignored. This fixes
above problem.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
12 years agohwmon: (pmbus) Virtualize pmbus_write_byte
Guenter Roeck [Sat, 30 Jul 2011 05:08:07 +0000 (22:08 -0700)]
hwmon: (pmbus) Virtualize pmbus_write_byte

With virtual pages and to be able to handle more chips, it is necessary to
virtualise pmbus_write_byte().

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
12 years agoexofs: Fix truncate for the raid-groups case
Boaz Harrosh [Thu, 4 Aug 2011 03:44:16 +0000 (20:44 -0700)]
exofs: Fix truncate for the raid-groups case

In the general raid-group case the truncate was wrong in that
it did not also fix the object length of the neighboring groups.

There are two bad cases in the old code:
1. Space that should be freed was not.
2. If a file That was big is truncated small, then made bigger
   again, the holes would not contain zeros but could expose old data.
   (If the growing of the file expands to more than a full
    groups cycle + group size (> S + T))

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: Small cleanup of exofs_fill_super
Boaz Harrosh [Thu, 4 Aug 2011 03:18:01 +0000 (20:18 -0700)]
exofs: Small cleanup of exofs_fill_super

Small cleanup that unifies duplicated code used in both the
error and success cases

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: BUG: Avoid sbi realloc
Boaz Harrosh [Thu, 28 Jul 2011 00:51:53 +0000 (17:51 -0700)]
exofs: BUG: Avoid sbi realloc

Since the beginning we realloced the sbi structure when a bigger
then one device table was specified. (I know that was really stupid).

Then much later when "register bdi" was added (By Jens) it was
registering the pointer to sbi->bdi before the realloc.

We never saw this problem because up till now the realloc did not
do anything since the device table was small enough to fit in the
original allocation. But once we starting testing with large device
tables (Bigger then 28) we noticed the crash of writeback operating
on a deallocated pointer.

* Avoid the all mess by allocating the device-table as a second array
  and get rid of the variable-sized structure and the rest of this
  mess.
* Take the chance to clean near by structures and comments.
* Add a needed dprint on startup to indicate the loaded layout.
* Also move the bdi registration to the very end because it will
  only fail in a low memory, which will probably fail before hand.
  There are many more likely causes to not load before that. This
  way the error handling is made simpler. (Just doing this would be
  enough to fix the BUG)

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: Remove pnfs-osd private definitions
Boaz Harrosh [Tue, 2 Feb 2010 13:56:53 +0000 (15:56 +0200)]
exofs: Remove pnfs-osd private definitions

Now that pnfs-osd has hit mainline we can remove exofs's
private header. (And the FIXME comment)

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agonfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4
Boaz Harrosh [Sun, 29 May 2011 07:57:47 +0000 (10:57 +0300)]
nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4

exofs file system wants to use pnfs_osd_xdr.h file instead of
redefining pnfs-objects types in it's private "pnfs.h" headr.

Before we do the switch we must make sure pnfs_osd_xdr.h is
compilable also under NFS versions smaller than 4.1. Since now
it is needed regardless of version, by the exofs code.

nfs4_string is not the only nfs4 type out in the global scope.

Ack-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoMerge branch 'stable/for-jens' into linux-next
Konrad Rzeszutek Wilk [Thu, 4 Aug 2011 19:31:50 +0000 (15:31 -0400)]
Merge branch 'stable/for-jens' into linux-next

* stable/for-jens:
  xen-blkback: refactor vbd remove/disconnect.
  xen-blkback: repleace check kthread_should_stop() to remove_requested in xen_blkif_schedule() loop.
  xen-blkback: add remove_requested to xen_blkif and some declares
  xen/blkback: Make description more obvious.
  xen/blk[front|back]: Implement the full FLUSH | FUA support.
  xen-blkfront: Fix one off warning about name clash
  xen-blkfront: Drop name and minor adjustments for emulated scsi devices

12 years agoMerge branch 'stable/bug.fixes' into linux-next
Konrad Rzeszutek Wilk [Thu, 4 Aug 2011 19:31:46 +0000 (15:31 -0400)]
Merge branch 'stable/bug.fixes' into linux-next

* stable/bug.fixes:
  xen: Fix misleading WARN message at xen_release_chunk
  xen: Fix printk() format in xen/setup.c
  xen/tracing: it looks like we wanted CONFIG_FTRACE
  xen/self-balloon: Add dependency on tmem.
  xen/balloon: Fix compile errors - missing header files.
  xen/grant: Fix compile warning.
  xen/pciback: remove duplicated #include

12 years agoxen: Fix misleading WARN message at xen_release_chunk
Igor Mammedov [Tue, 2 Aug 2011 09:45:25 +0000 (11:45 +0200)]
xen: Fix misleading WARN message at xen_release_chunk

WARN message should not complain
 "Failed to release memory %lx-%lx err=%d\n"
                           ^^^^^^^
about range when it fails to release just one page,
instead it should say what pfn is not freed.

In addition line:
 printk(KERN_INFO "xen_release_chunk: looking at area pfn %lx-%lx: "
 ...
 printk(KERN_CONT "%lu pages freed\n", len);
will be broken if WARN in between this line is fired. So fix it
by using a single printk for this.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoxen: Fix printk() format in xen/setup.c
Igor Mammedov [Tue, 2 Aug 2011 09:45:24 +0000 (11:45 +0200)]
xen: Fix printk() format in xen/setup.c

Use correct format specifier for unsigned long.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years ago xen/tracing: it looks like we wanted CONFIG_FTRACE
Jeremy Fitzhardinge [Wed, 3 Aug 2011 16:43:44 +0000 (09:43 -0700)]
 xen/tracing: it looks like we wanted CONFIG_FTRACE

Apparently we wanted CONFIG_FTRACE rather the CONFIG_FUNCTION_TRACER.

Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Tested-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoxen-blkback: refactor vbd remove/disconnect.
Joe Jin [Thu, 4 Aug 2011 07:25:44 +0000 (15:25 +0800)]
xen-blkback: refactor vbd remove/disconnect.

This patch refactor vbd remove/disconnect.
1. Add blkback shutdown watch for the remove/disconnect.
2. Don't disconnect backend when frontend state is XenbusStateClosing
   until frontend state changed to XenbusStateClosed.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Annie Li <annie.li@oracle.com>
Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoxen-blkback: repleace check kthread_should_stop() to remove_requested in xen_blkif_sc...
Joe Jin [Thu, 4 Aug 2011 07:24:44 +0000 (15:24 +0800)]
xen-blkback: repleace check kthread_should_stop() to remove_requested in xen_blkif_schedule() loop.

When backend state change to XenbusStateClosed, remove_requested will be set,
so repleace check kthread_should_stop() to remove_requested in
xen_blkif_schedule() loop.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Annie Li <annie.li@oracle.com>
Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>
--
 drivers/block/xen-blkback/blkback.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoxen-blkback: add remove_requested to xen_blkif and some declares
Joe Jin [Thu, 4 Aug 2011 07:23:41 +0000 (15:23 +0800)]
xen-blkback: add remove_requested to xen_blkif and some declares

Add remove_requested to xen_blkif and some declares.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Annie Li <annie.li@oracle.com>
Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoxen/blkback: Make description more obvious.
Konrad Rzeszutek Wilk [Wed, 3 Aug 2011 15:12:17 +0000 (11:12 -0400)]
xen/blkback: Make description more obvious.

With the frontend having Xen but the backend not, it just looks odd:

  <*>   Xen virtual block device support
  <*>   Block-device backend driver

Fix it to have the 'Xen' in front of it.

Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoMerge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6
Linus Torvalds [Thu, 4 Aug 2011 16:37:07 +0000 (06:37 -1000)]
Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6

* 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
  Revert "dt: add of_alias_scan and of_alias_get_id"
  dt: remove of_alias_get_id() reference

12 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6
Linus Torvalds [Thu, 4 Aug 2011 16:36:20 +0000 (06:36 -1000)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
  [PARISC] wire up sendmmsg syscall
  [PARISC] fix return type of __atomic64_add_return
  [PARISC] Fix futex support

12 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Thu, 4 Aug 2011 16:35:51 +0000 (06:35 -1000)]
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] signal: use set_restore_sigmask() helper
  [S390] smp: remove pointless comments in startup_secondary()
  [S390] qdio: Use kstrtoul_from_user
  [S390] sclp_async: Use kstrtoul_from_user
  [S390] exec: remove redundant set_fs(USER_DS)
  [S390] cpu hotplug: on cpu start wait until being marked active
  [S390] signal: convert to use set_current_blocked()
  [S390] asm offsets: fix coding style
  [S390] Add support for IBM zEnterprise 114
  [S390] dasd: check if raw track access is supported
  [S390] Use diagnose 308 for system reset
  [S390] Export store_status() function
  [S390] dasd: use vmalloc for statistics input buffer
  [S390] Add PSW restart shutdown trigger
  [S390] missing return in page_table_alloc_pgste
  [S390] qdio: 2nd stage retry on SIGA-W busy conditions

12 years agoeisa/pci_eisa.c: fix BUG introduced by 005bdad7b80
Arnaud Lacombe [Thu, 4 Aug 2011 14:39:44 +0000 (10:39 -0400)]
eisa/pci_eisa.c: fix BUG introduced by 005bdad7b80

While `pci_eisa_driver' still refer `pci_eisa_init', the .probe() function
should not be called after init memory release, as pointed out by commit
74b9a297. The structure is still referenced in the drivers subsystem, and can
be accesseed through sysfs, so the modpost warning is a false positive. Mark
it as such.

In the same time, the warning referenced in 005bdad7b80 did only mention
`pci_eisa_driver', not `pci_eisa_pci_tbl', so remove its marking.

Broken-by: Arnaud Lacombe <lacombar@gmail.com> (in 005bdad7b80)
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>