Paul Gortmaker [Sun, 31 Jul 2011 23:51:07 +0000 (19:51 -0400)]
arm: fix implicit use of asm/sizes.h in plat-s5p/dev-onenand.c
In order to fix this:
CC arch/arm/plat-s5p/dev-onenand.o
arch/arm/plat-s5p/dev-onenand.c:25: error: 'SZ_128K' undeclared here (not in a function)
arch/arm/plat-s5p/dev-onenand.c:30: error: 'SZ_8K' undeclared here (not in a function)
make[3]: *** [arch/arm/plat-s5p/dev-onenand.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
CC arch/arm/mach-footbridge/dc21285.o
arch/arm/mach-footbridge/dc21285.c: In function 'dc21285_preinit':
arch/arm/mach-footbridge/dc21285.c:299: error: 'vga_base' undeclared (first use in this function)
arch/arm/mach-footbridge/dc21285.c:299: error: (Each undeclared identifier is reported only once
arch/arm/mach-footbridge/dc21285.c:299: error: for each function it appears in.)
make[3]: *** [arch/arm/mach-footbridge/dc21285.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 31 Jul 2011 22:56:57 +0000 (18:56 -0400)]
arm: fix implicit use of hardware.h in ehci-mxc.c
To fix this:
drivers/usb/host/ehci-mxc.c: In function 'ehci_mxc_drv_probe':
drivers/usb/host/ehci-mxc.c:175: error: implicit declaration of function 'cpu_is_mx35'
drivers/usb/host/ehci-mxc.c:175: error: implicit declaration of function 'cpu_is_mx25'
drivers/usb/host/ehci-mxc.c:185: error: implicit declaration of function 'cpu_is_mx51'
make[5]: *** [drivers/usb/host/ehci-hcd.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 31 Jul 2011 22:38:45 +0000 (18:38 -0400)]
arm: fix implicit use of page.h in sa1100/jornada720.c
To fix this:
arch/arm/mach-sa1100/jornada720.c:278: error: 'PAGE_SHIFT' undeclared here (not in a function)
make[3]: *** [arch/arm/mach-sa1100/jornada720.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 31 Jul 2011 22:19:17 +0000 (18:19 -0400)]
arm: fix implicit use of asm/sizes.h in samsung/dev-*.c
To several variations of messages similar to this:
CC arch/arm/plat-samsung/dev-wdt.o
arch/arm/plat-samsung/dev-wdt.c:25: error: 'SZ_1K' undeclared here (not in a function)
make[3]: *** [arch/arm/plat-samsung/dev-wdt.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 31 Jul 2011 22:16:56 +0000 (18:16 -0400)]
arm: add slab.h to samsung/platformdata.c for GFP_KERNEL
To fix this:
CC arch/arm/plat-samsung/platformdata.o
arch/arm/plat-samsung/platformdata.c: In function 's3c_set_platdata':
arch/arm/plat-samsung/platformdata.c:29: error: 'GFP_KERNEL' undeclared (first use in this function)
arch/arm/plat-samsung/platformdata.c:29: error: (Each undeclared identifier is reported only once
arch/arm/plat-samsung/platformdata.c:29: error: for each function it appears in.)
make[3]: *** [arch/arm/plat-samsung/platformdata.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Randy Dunlap [Fri, 29 Jul 2011 19:43:13 +0000 (12:43 -0700)]
regulator: aat2870 needs module.h
aat2870-regulator.c needs to include linux/module.h to fix multiple
build errors.
drivers/regulator/aat2870-regulator.c:145: error: 'THIS_MODULE' undeclared here (not in a function)
drivers/regulator/aat2870-regulator.c:230: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
drivers/regulator/aat2870-regulator.c:231: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
drivers/regulator/aat2870-regulator.c:232: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR'
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Joe Thornber [Mon, 1 Aug 2011 00:51:12 +0000 (10:51 +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>
Mike Snitzer [Mon, 1 Aug 2011 00:51:11 +0000 (10:51 +1000)]
DM has always advertised both REQ_FLUSH and REQ_FUA flush capabilities
regardless of whether or not a given DM device's underlying devices
also advertised a need for them.
Block's flush-merge changes from 2.6.39 have proven to be more costly
for DM devices. Performance regressions have been reported even when
DM's underlying devices do not advertise that they have a write cache.
Fix the performance regressions by configuring a DM device's flushing
capabilities based on those of the underlying devices' capabilities.
Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Milan Broz [Mon, 1 Aug 2011 00:51:09 +0000 (10:51 +1000)]
Add optional parameter field to dmcrypt table and support
"allow_discards" option.
Discard requests bypass crypt queue processing. Bio is simple remapped
to underlying device.
Note that discard will be never enabled by default because of security
consequences. It is up to the administrator to enable it for encrypted
devices.
(Note that userspace cryptsetup does not understand new optional
parameters yet. Support for this will come later. Until then, you
should use 'dmsetup' to enable and disable this.)
Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Add the ability to parse and use metadata devices to dm-raid. Although
not strictly required, without the metadata devices, many features of
RAID are unavailable. They are used to store a superblock and bitmap.
The role, or position in the array, of each device must be recorded in
its superblock. This is to help with fault handling, array reshaping,
and sanity checks. RAID 4/5/6 devices must be loaded in a specific order:
in this way, the 'array_position' field helps validate the correctness
of the mapping when it is loaded. It can be used during reshaping to
identify which devices are added/removed. Fault handling is impossible
without this field. For example, when a device fails it is recorded in
the superblock. If this is a RAID1 device and the offending device is
removed from the array, there must be a way during subsequent array
assembly to determine that the failed device was the one removed. This
is done by correlating the 'array_position' field and the bit-field
variable 'failed_devices'.
Signed-off-by: Jonathan Brassow <jbrassow@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Mikulas Patocka [Mon, 1 Aug 2011 00:51:07 +0000 (10:51 +1000)]
Exactly one of name, uuid or device must be specified when referencing
an existing device. This removes the ambiguity (risking the wrong
device being updated) if two conflicting parameters were specified.
Previously one parameter got used and any others were ignored silently.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Mikulas Patocka [Mon, 1 Aug 2011 00:51:06 +0000 (10:51 +1000)]
Move logic to find device based on major/minor number to a separate
function __get_dev_cell (similar to __get_uuid_cell and __get_name_cell).
This makes the function __find_device_hash_cell more straightforward.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>