NeilBrown
30b8aa9172
md: fix possible corruption of array metadata on shutdown.
...
commit c744a65c1e
md: don't set md arrays to readonly on shutdown.
removed the possibility of a 'BUG' when data is written to an array
that has just been switched to read-only, but also introduced the
possibility that the array metadata could be corrupted.
If, when md_notify_reboot gets the mddev lock, the array is
in a state where it is assembled but hasn't been started (as can
happen if the personality module is not available, or in other unusual
situations), then incorrect metadata will be written out making it
impossible to re-assemble the array.
So only call __md_stop_writes() if the array has actually been
activated.
This patch is needed for any stable kernel which has had the above
commit applied.
Cc: stable@vger.kernel.org
Reported-by: Christoph Nelles <evilazrael@evilazrael.de>
Signed-off-by: NeilBrown <neilb@suse.de>
2012-04-24 10:23:16 +10:00
..
persistent-data
dm persistent data: remove space map ref_count entries if redundant
2012-03-28 18:41:27 +01:00
bitmap.c
md/bitmap: prevent bitmap_daemon_work running while initialising bitmap
2012-04-12 16:05:06 +10:00
bitmap.h
md/bitmap: discard CHUNK_BLOCK_SHIFT macro
2012-03-19 12:46:41 +11:00
dm-bio-record.h
dm-bufio.c
dm bufio: prefetch
2012-03-28 18:41:29 +01:00
dm-bufio.h
dm bufio: prefetch
2012-03-28 18:41:29 +01:00
dm-crypt.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-delay.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-exception-store.c
dm exception store: fix init error path
2012-03-28 18:41:22 +01:00
dm-exception-store.h
dm-flakey.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-io.c
dm io: fix discard support
2012-03-07 19:09:37 +00:00
dm-ioctl.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-kcopyd.c
dm kcopyd: add dm_kcopyd_zero to zero an area
2011-10-31 20:18:58 +00:00
dm-linear.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-log-userspace-base.c
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
2011-11-06 19:44:47 -08:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-mpath.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-mpath.h
dm-path-selector.c
md: Add module.h to all files using it implicitly
2011-10-31 19:31:18 -04:00
dm-path-selector.h
dm-queue-length.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-raid.c
DM RAID: Use safe version of rdev_for_each
2012-04-24 10:23:13 +10:00
dm-raid1.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-region-hash.c
dm-round-robin.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-service-time.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-snap-persistent.c
md: Add in export.h for files using EXPORT_SYMBOL
2011-10-31 19:31:19 -04:00
dm-snap-transient.c
md: Add in export.h for files using EXPORT_SYMBOL
2011-10-31 19:31:19 -04:00
dm-snap.c
dm snapshot: skip reading origin when overwriting complete chunk
2011-08-02 12:32:04 +01:00
dm-stripe.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-sysfs.c
dm-table.c
dm: reject trailing characters in sccanf input
2012-03-28 18:41:26 +01:00
dm-target.c
dm-thin-metadata.c
dm thin: relax hard limit on the maximum size of a metadata device
2012-03-28 18:41:28 +01:00
dm-thin-metadata.h
dm thin: relax hard limit on the maximum size of a metadata device
2012-03-28 18:41:28 +01:00
dm-thin.c
dm thin: add pool target flags to control discard
2012-03-28 18:41:29 +01:00
dm-uevent.c
md: Add in export.h for files using EXPORT_SYMBOL
2011-10-31 19:31:19 -04:00
dm-uevent.h
dm-verity.c
dm: add verity target
2012-03-28 18:43:38 +01:00
dm-zero.c
dm.c
dm: clear bi_end_io on remapping failure
2012-03-28 18:41:25 +01:00
dm.h
dm table: add immutable feature
2011-10-31 20:19:04 +00:00
faulty.c
md: tidy up rdev_for_each usage.
2012-03-19 12:46:39 +11:00
Kconfig
dm: add verity target
2012-03-28 18:43:38 +01:00
linear.c
md/linear: If md_integrity_register() fails, linear_run() must free the mem.
2012-04-02 09:48:37 +10:00
linear.h
md/linear: typedef removal: linear_conf_t -> struct linear_conf
2011-10-11 16:48:54 +11:00
Makefile
dm: add verity target
2012-03-28 18:43:38 +01:00
md.c
md: fix possible corruption of array metadata on shutdown.
2012-04-24 10:23:16 +10:00
md.h
md/raid10: handle merge_bvec_fn in member devices.
2012-03-19 12:46:39 +11:00
multipath.c
md: tidy up rdev_for_each usage.
2012-03-19 12:46:39 +11:00
multipath.h
md/multipath: typedef removal: multipath_conf_t -> struct mpconf
2011-10-11 16:48:57 +11:00
raid0.c
md: Avoid OOPS when reshaping raid1 to raid0
2012-04-03 15:37:26 +10:00
raid0.h
md: add proper merge_bvec handling to RAID0 and Linear.
2012-03-19 12:46:39 +11:00
raid1.c
md/raid1,raid10: Fix calculation of 'vcnt' when processing error recovery.
2012-04-12 16:04:47 +10:00
raid1.h
md/raid1: Allocate spare to store replacement devices and their bios.
2011-12-23 10:17:56 +11:00
raid5.c
md/raid5: Fix a bug about judging if the operation is syncing or replacing
2012-04-03 15:37:38 +10:00
raid5.h
md/raid5: detect and handle replacements during recovery.
2011-12-23 10:17:53 +11:00
raid10.c
md/raid1,raid10: Fix calculation of 'vcnt' when processing error recovery.
2012-04-12 16:04:47 +10:00
raid10.h
md/raid10: prepare data structures for handling replacement.
2011-12-23 10:17:54 +11:00