Tejun Heo
49731baa41
block: restore multiple bd_link_disk_holder() support
...
Commit e09b457b (block: simplify holder symlink handling) incorrectly
assumed that there is only one link at maximum. dm may use multiple
links and expects block layer to track reference count for each link,
which is different from and unrelated to the exclusive device holder
identified by @holder when the device is opened.
Remove the single holder assumption and automatic removal of the link
and revive the per-link reference count tracking. The code
essentially behaves the same as before commit e09b457b sans the
unnecessary kobject reference count dancing.
While at it, note that this facility should not be used by anyone else
than the current ones. Sysfs symlinks shouldn't be abused like this
and the whole thing doesn't belong in the block layer at all.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Milan Broz <mbroz@redhat.com>
Cc: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Neil Brown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2011-01-14 18:44:22 +01: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-crypt.c
dm crypt: add loop aes iv generator
2011-01-13 19:59:55 +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-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: suppress needless warning messages
2011-01-13 19:59:55 +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
dm log userspace: add version number to comms
2011-01-13 19:59:52 +00:00
dm-log-userspace-transfer.h
dm-log.c
dm log: use PTR_ERR value instead of ENOMEM
2011-01-13 20:00:00 +00:00
dm-mpath.c
dm mpath: delay activate_path retry on SCSI_DH_RETRY
2011-01-13 20:00:01 +00:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c
dm: raid456 basic support
2011-01-13 20:00:02 +00:00
dm-raid1.c
dm: use non reentrant workqueues if equivalent
2011-01-13 19:59:58 +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-service-time.c
dm-snap-persistent.c
dm snapshot: persistent make metadata_wq multithreaded
2011-01-13 19:59:59 +00:00
dm-snap-transient.c
dm-snap.c
dm snapshot: avoid storing private suspended state
2011-01-13 19:59:59 +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
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-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: raid456 basic support
2011-01-13 20:00:02 +00:00
linear.c
md: implment REQ_FLUSH/FUA support
2010-09-10 12:35:38 +02:00
linear.h
Makefile
dm: raid456 basic support
2011-01-13 20:00:02 +00:00
md.c
block: restore multiple bd_link_disk_holder() support
2011-01-14 18:44:22 +01:00
md.h
md: separate meta and data devs
2011-01-14 09:14:34 +11:00
multipath.c
md: implment REQ_FLUSH/FUA support
2010-09-10 12:35:38 +02:00
multipath.h
raid0.c
md: implment REQ_FLUSH/FUA support
2010-09-10 12:35:38 +02:00
raid0.h
raid1.c
md-new-param-to_sync_page_io
2011-01-14 09:14:33 +11:00
raid1.h
md/raid1: discard unused variable.
2010-10-29 16:40:33 +11:00
raid5.c
md/raid5: handle manually-added spares in start_reshape.
2011-01-14 09:14:34 +11:00
raid5.h
md: implment REQ_FLUSH/FUA support
2010-09-10 12:35:38 +02:00
raid10.c
md-new-param-to_sync_page_io
2011-01-14 09:14:33 +11:00
raid10.h