NeilBrown
f0b4f7e2f2
md: Fix - again - partition detection when array becomes active
...
Revert
b821eaa572
and
f3b99be19d
When I wrote the first of these I had a wrong idea about the
lifetime of 'struct block_device'. It can disappear at any time that
the block device is not open if it falls out of the inode cache.
So relying on the 'size' recorded with it to detect when the
device size has changed and so we need to revalidate, is wrong.
Rather, we really do need the 'changed' attribute stored directly in
the mddev and set/tested as appropriate.
Without this patch, a sequence of:
mknod / open / close / unlink
(which can cause a block_device to be created and then destroyed)
will result in a rescan of the partition table and consequence removal
and addition of partitions.
Several of these in a row can get udev racing to create and unlink and
other code can get confused.
With the patch, the rescan is only performed when needed and so there
are no races.
This is suitable for any stable kernel from 2.6.35.
Reported-by: "Wojcik, Krzysztof" <krzysztof.wojcik@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Cc: stable@kernel.org
2011-02-24 17:26:41 +11: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: avoid spinlock problem in blk_throtl_exit
2011-02-21 18:25:57 +11:00
linear.h
Makefile
dm: raid456 basic support
2011-01-13 20:00:02 +00:00
md.c
md: Fix - again - partition detection when array becomes active
2011-02-24 17:26:41 +11: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
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