Mike Snitzer
754c5fc7eb
dm: calculate queue limits during resume not load
...
Currently, device-mapper maintains a separate instance of 'struct
queue_limits' for each table of each device. When the configuration of
a device is to be changed, first its table is loaded and this structure
is populated, then the device is 'resumed' and the calculated
queue_limits are applied.
This places restrictions on how userspace may process related devices,
where it is often advantageous to 'load' tables for several devices
at once before 'resuming' them together. As the new queue_limits
only take effect after the 'resume', if they are changing and one
device uses another, the latter must be 'resumed' before the former
may be 'loaded'.
This patch moves the calculation of these queue_limits out of
the 'load' operation into 'resume'. Since we are no longer
pre-calculating this struct, we no longer need to maintain copies
within our dm structs.
dm_set_device_limits() now passes the 'start' of the device's
data area (aka pe_start) as the 'offset' to blk_stack_limits().
init_valid_queue_limits() is replaced by blk_set_default_limits().
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: martin.petersen@oracle.com
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2009-06-22 10:12:34 +01:00
..
raid6test
.gitignore
bitmap.c
Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block
2009-06-11 11:10:35 -07:00
bitmap.h
dm-bio-record.h
dm-crypt.c
dm target:s introduce iterate devices fn
2009-06-22 10:12:33 +01:00
dm-delay.c
dm target:s introduce iterate devices fn
2009-06-22 10:12:33 +01:00
dm-exception-store.c
dm exception store: fix exstore lookup to be case insensitive
2009-06-22 10:12:15 +01:00
dm-exception-store.h
dm: use i_size_read
2009-06-22 10:12:14 +01:00
dm-io.c
dm io: retry after barrier error
2009-06-22 10:12:26 +01:00
dm-ioctl.c
dm ioctl: support cookies for udev
2009-06-22 10:12:30 +01:00
dm-kcopyd.c
dm kcopyd: fix callback race
2009-04-09 00:27:17 +01:00
dm-linear.c
dm target:s introduce iterate devices fn
2009-06-22 10:12:33 +01:00
dm-log.c
dm log: fix create_log_context to use logical_block_size of log device
2009-06-22 10:12:33 +01:00
dm-mpath.c
dm target:s introduce iterate devices fn
2009-06-22 10:12:33 +01:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm mpath: add start_io and nr_bytes to path selectors
2009-06-22 10:12:27 +01:00
dm-queue-length.c
dm mpath: add queue length load balancer
2009-06-22 10:12:27 +01:00
dm-raid1.c
dm target:s introduce iterate devices fn
2009-06-22 10:12:33 +01:00
dm-region-hash.c
dm raid1: keep retrying alloc if mempool_alloc failed
2009-06-22 10:12:13 +01:00
dm-round-robin.c
dm mpath: add start_io and nr_bytes to path selectors
2009-06-22 10:12:27 +01:00
dm-service-time.c
dm mpath: add service time load balancer
2009-06-22 10:12:28 +01:00
dm-snap-persistent.c
dm snapshot: use barrier when writing exception store
2009-06-22 10:12:26 +01:00
dm-snap-transient.c
dm-snap.c
dm snapshot: support barriers
2009-06-22 10:12:25 +01:00
dm-stripe.c
dm target:s introduce iterate devices fn
2009-06-22 10:12:33 +01:00
dm-sysfs.c
dm: sysfs add suspended attribute
2009-06-22 10:12:29 +01:00
dm-table.c
dm: calculate queue limits during resume not load
2009-06-22 10:12:34 +01:00
dm-target.c
dm-uevent.c
dm-uevent.h
dm-zero.c
dm.c
dm: calculate queue limits during resume not load
2009-06-22 10:12:34 +01:00
dm.h
dm: calculate queue limits during resume not load
2009-06-22 10:12:34 +01:00
faulty.c
md: Move check for bitmap presence to personality code.
2009-06-18 08:49:23 +10:00
Kconfig
dm mpath: add service time load balancer
2009-06-22 10:12:28 +01:00
linear.c
md/linear: use call_rcu to free obsolete 'conf' structures.
2009-06-18 08:49:42 +10:00
linear.h
md/linear: use call_rcu to free obsolete 'conf' structures.
2009-06-18 08:49:42 +10:00
Makefile
dm mpath: add service time load balancer
2009-06-22 10:12:28 +01:00
md.c
md: Move check for bitmap presence to personality code.
2009-06-18 08:49:23 +10:00
md.h
md: Move check for bitmap presence to personality code.
2009-06-18 08:49:23 +10:00
mktables.c
multipath.c
md: Move check for bitmap presence to personality code.
2009-06-18 08:49:23 +10:00
multipath.h
md: remove mddev_to_conf "helper" macro
2009-06-16 16:54:21 +10:00
raid0.c
md: Move check for bitmap presence to personality code.
2009-06-18 08:49:23 +10:00
raid0.h
md: remove mddev_to_conf "helper" macro
2009-06-16 16:54:21 +10:00
raid1.c
md: Push down reconstruction log message to personality code.
2009-06-18 08:48:06 +10:00
raid1.h
md: remove mddev_to_conf "helper" macro
2009-06-16 16:54:21 +10:00
raid5.c
md/raid5: correctly update sync_completed when we reach max_resync
2009-06-18 09:14:12 +10:00
raid5.h
md: convert conf->chunk_size and conf->prev_chunk to sectors.
2009-06-18 08:45:55 +10:00
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c
md: Push down reconstruction log message to personality code.
2009-06-18 08:48:06 +10:00
raid10.h
md: remove mddev_to_conf "helper" macro
2009-06-16 16:54:21 +10:00
unroll.pl