linux/drivers/md
Mike Snitzer a490a07a67 dm mpath: allow table load with no priority groups
This patch adjusts the multipath target to allow a table with both 0
priority groups and 0 for the initial priority group number.

If any mpath device is held open when all paths in the last priority
group have failed, userspace multipathd will attempt to reload the
associated DM table to reflect the fact that the device no longer has
any priority groups.  But the reload attempt always failed because the
multipath target did not allow 0 priority groups.

All multipath target messages related to priority group (enable_group,
disable_group, switch_group) will handle a priority group of 0 (will
cause error).

When reloading a multipath table with 0 priority groups, userspace
multipathd must be updated to specify an initial priority group number
of 0 (rather than 1).

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: Babu Moger <babu.moger@lsi.com>
Acked-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2011-03-24 13:54:33 +00:00
..
bitmap.c md: Don't let implementation detail of curr_resync leak out through sysfs. 2011-01-14 09:14:34 +11:00
bitmap.h md: use sector_t in bitmap_get_counter 2010-10-28 17:32:26 +11:00
dm-bio-record.h dm: preserve bi_io_vec when resubmitting bios 2009-04-02 19:55:23 +01:00
dm-crypt.c dm crypt: wipe keys string immediately after key is set 2011-03-24 13:54:27 +00:00
dm-delay.c dm: convert workqueues to alloc_ordered 2011-01-13 19:59:57 +00:00
dm-exception-store.c dm snapshot: test chunk size against both origin and snapshot 2010-08-12 04:13:51 +01:00
dm-exception-store.h dm snapshot: test chunk size against both origin and snapshot 2010-08-12 04:13:51 +01:00
dm-flakey.c dm: add flakey target 2011-03-24 13:54:24 +00:00
dm-io.c dm: implement REQ_FLUSH/FUA support for bio-based dm 2010-09-10 12:35:38 +02:00
dm-ioctl.c dm ioctl: add flag to wipe buffers for secure data 2011-03-24 13:54:30 +00:00
dm-kcopyd.c dm: use non reentrant workqueues if equivalent 2011-01-13 19:59:58 +00:00
dm-linear.c dm: use dm_target_offset macro 2010-08-12 04:14:11 +01:00
dm-log-userspace-base.c dm log userspace: add version number to comms 2011-01-13 19:59:52 +00:00
dm-log-userspace-transfer.c netlink: kill eff_cap from struct netlink_skb_parms 2011-03-03 13:32:07 -08:00
dm-log-userspace-transfer.h dm log: userspace add luid to distinguish between concurrent log instances 2009-09-04 20:40:34 +01:00
dm-log.c dm: fix opening log and cow devices for read only tables 2011-03-24 13:52:14 +00:00
dm-mpath.c dm mpath: allow table load with no priority groups 2011-03-24 13:54:33 +00:00
dm-mpath.h
dm-path-selector.c dm: path selector use module refcount directly 2009-04-02 19:55:27 +01:00
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: use non reentrant workqueues if equivalent 2011-01-13 19:59:58 +00:00
dm-raid.c dm: raid456 basic support 2011-01-13 20:00:02 +00:00
dm-region-hash.c dm: implement REQ_FLUSH/FUA support for bio-based dm 2010-09-10 12:35:38 +02: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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dm-snap-persistent.c dm snapshot: persistent make metadata_wq multithreaded 2011-01-13 19:59:59 +00:00
dm-snap-transient.c dm snapshot: move cow ref from exception store to snap core 2009-12-10 23:52:12 +00:00
dm-snap.c dm: fix opening log and cow devices for read only tables 2011-03-24 13:52:14 +00:00
dm-stripe.c dm stripe: switch from local workqueue to system_wq 2011-01-13 19:59:57 +00:00
dm-sysfs.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
dm-table.c block: restore multiple bd_link_disk_holder() support 2011-01-14 18:44:22 +01:00
dm-target.c dm: error return error for discards 2010-08-12 04:14:14 +01:00
dm-uevent.c dm table: remove dm_get from dm_table_get_md 2010-03-06 02:29:52 +00:00
dm-uevent.h
dm-zero.c dm: zero silently drop discards 2010-08-12 04:14:12 +01:00
dm.c dm: remove superfluous irq disablement in dm_request_fn 2011-01-13 20:00:00 +00:00
dm.h dm: linear support discard 2010-08-12 04:14:08 +01:00
faulty.c md: use separate bio pool for each md device. 2010-10-28 17:36:15 +11:00
Kconfig dm: add flakey target 2011-03-24 13:54:24 +00:00
linear.c md: avoid spinlock problem in blk_throtl_exit 2011-02-21 18:25:57 +11:00
linear.h md/linear: use call_rcu to free obsolete 'conf' structures. 2009-06-18 08:49:42 +10:00
Makefile dm: add flakey target 2011-03-24 13:54:24 +00:00
md.c Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-03-16 08:20:19 -07:00
md.h md: Fix - again - partition detection when array becomes active 2011-02-24 17:26:41 +11:00
multipath.c md: avoid spinlock problem in blk_throtl_exit 2011-02-21 18:25:57 +11:00
multipath.h md: remove mddev_to_conf "helper" macro 2009-06-16 16:54:21 +10:00
raid0.c md: avoid spinlock problem in blk_throtl_exit 2011-02-21 18:25:57 +11:00
raid0.h md: fix handling of array level takeover that re-arranges devices. 2010-06-24 13:33:24 +10:00
raid1.c md: avoid spinlock problem in blk_throtl_exit 2011-02-21 18:25:57 +11:00
raid1.h md/raid1: discard unused variable. 2010-10-29 16:40:33 +11:00
raid5.c md: avoid spinlock problem in blk_throtl_exit 2011-02-21 18:25:57 +11:00
raid5.h md: implment REQ_FLUSH/FUA support 2010-09-10 12:35:38 +02:00
raid10.c md: avoid spinlock problem in blk_throtl_exit 2011-02-21 18:25:57 +11:00
raid10.h md: fix handling of array level takeover that re-arranges devices. 2010-06-24 13:33:24 +10:00