linux/drivers/md
NeilBrown d890fa2b05 md: Fix some bugs in recovery_disabled handling.
In 3.0 we changed the way recovery_disabled was handle so that instead
of testing against zero, we test an mddev-> value against a conf->
value.
Two problems:
  1/ one place in raid1 was missed and still sets to '1'.
  2/ We didn't explicitly set the conf-> value at array creation
     time.
     It defaulted to '0' just like the mddev value does so they
     could appear equal and thus disable recovery.
     This did not affect normal 'md' as it calls bind_rdev_to_array
     which changes the mddev value.  However the dmraid interface
     doesn't call this and so doesn't change ->recovery_disabled; so at
     array start all recovery is incorrectly disabled.

So initialise the 'conf' value to one less that the mddev value, so
the will only be the same when explicitly set that way.

Reported-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: NeilBrown  <neilb@suse.de>
2011-10-26 11:54:39 +11:00
..
bitmap.c md/bitmap remove fault injection options. 2011-10-11 16:49:56 +11:00
bitmap.h md: remove typedefs: mddev_t -> struct mddev 2011-10-11 16:47:53 +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: optionally support discard requests 2011-08-02 12:32:08 +01: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 flakey: add corrupt_bio_byte feature 2011-08-02 12:32:06 +01:00
dm-io.c dm io: flush cpu cache with vmapped io 2011-08-02 12:32:01 +01:00
dm-ioctl.c dm ioctl: forbid multiple device specifiers 2011-08-02 12:32:06 +01:00
dm-kcopyd.c dm snapshot: skip reading origin when overwriting complete chunk 2011-08-02 12:32:04 +01: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 use list_move 2011-08-02 12:32:02 +01: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: use vzalloc 2011-08-02 12:32:02 +01:00
dm-mpath.c dm table: share target argument parsing functions 2011-08-02 12:32:04 +01: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 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
dm-raid.c md/raid5: typedef removal: raid5_conf_t -> struct r5conf 2011-10-11 16:49:52 +11:00
dm-raid1.c dm kcopyd: return client directly and not through a pointer 2011-05-29 13:03:13 +01:00
dm-region-hash.c Fix common misspellings 2011-03-31 11:26:23 -03: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: style cleanups 2011-08-02 12:32:03 +01: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 snapshot: skip reading origin when overwriting complete chunk 2011-08-02 12:32:04 +01:00
dm-stripe.c dm stripe: implement merge method 2011-03-24 13:54:35 +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 dm table: set flush capability based on underlying devices 2011-08-02 12:32:08 +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 table: set flush capability based on underlying devices 2011-08-02 12:32:08 +01:00
dm.h dm: ignore merge_bvec for snapshots when safe 2011-08-02 12:32:04 +01:00
faulty.c md: rename "mdk_personality" to "md_personality" 2011-10-11 16:49:58 +11:00
Kconfig dm raid: support metadata devices 2011-08-02 12:32:07 +01:00
linear.c md: rename "mdk_personality" to "md_personality" 2011-10-11 16:49:58 +11:00
linear.h md/linear: typedef removal: linear_conf_t -> struct linear_conf 2011-10-11 16:48:54 +11:00
Makefile dm: add flakey target 2011-03-24 13:54:24 +00:00
md.c md.c: trivial comment fix 2011-10-19 17:15:15 +11:00
md.h md: rename "mdk_personality" to "md_personality" 2011-10-11 16:49:58 +11:00
multipath.c md: rename "mdk_personality" to "md_personality" 2011-10-11 16:49:58 +11:00
multipath.h md/multipath: typedef removal: multipath_conf_t -> struct mpconf 2011-10-11 16:48:57 +11:00
raid0.c md: rename "mdk_personality" to "md_personality" 2011-10-11 16:49:58 +11:00
raid0.h md/raid0: typedef removal: raid0_conf_t -> struct r0conf 2011-10-11 16:48:59 +11:00
raid1.c md: Fix some bugs in recovery_disabled handling. 2011-10-26 11:54:39 +11:00
raid1.h md: add proper write-congestion reporting to RAID1 and RAID10. 2011-10-11 16:50:01 +11:00
raid5.c md: Fix some bugs in recovery_disabled handling. 2011-10-26 11:54:39 +11:00
raid5.h md/raid5: typedef removal: raid5_conf_t -> struct r5conf 2011-10-11 16:49:52 +11:00
raid10.c md: Fix some bugs in recovery_disabled handling. 2011-10-26 11:54:39 +11:00
raid10.h md: add proper write-congestion reporting to RAID1 and RAID10. 2011-10-11 16:50:01 +11:00