NeilBrown
30bc9b5387
md/raid1: fix bio handling problems in process_checks()
...
Recent change to use bio_copy_data() in raid1 when repairing
an array is faulty.
The underlying may have changed the bio in various ways using
bio_advance and these need to be undone not just for the 'sbio' which
is being copied to, but also the 'pbio' (primary) which is being
copied from.
So perform the reset on all bios that were read from and do it early.
This also ensure that the sbio->bi_io_vec[j].bv_len passed to
memcmp is correct.
This fixes a crash during a 'check' of a RAID1 array. The crash was
introduced in 3.10 so this is suitable for 3.10-stable.
Cc: stable@vger.kernel.org (3.10)
Reported-by: Joe Lawrence <joe.lawrence@stratus.com>
Signed-off-by: NeilBrown <neilb@suse.de>
2013-07-18 14:18:04 +10:00
..
bcache
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2013-07-04 11:40:58 -07:00
persistent-data
dm persistent metadata: add space map threshold callback
2013-05-10 14:37:20 +01:00
bitmap.c
md: replace strict_strto*() with kstrto*()
2013-06-14 08:10:26 +10:00
bitmap.h
dm-bio-prison.c
dm: add cache target
2013-03-01 22:45:51 +00:00
dm-bio-prison.h
dm: add cache target
2013-03-01 22:45:51 +00:00
dm-bio-record.h
dm-bufio.c
dm bufio: submit writes outside lock
2013-07-10 23:41:18 +01:00
dm-bufio.h
dm-cache-block-types.h
dm: add cache target
2013-03-01 22:45:51 +00:00
dm-cache-metadata.c
dm cache: replace memcpy with struct assignment
2013-05-10 14:37:18 +01:00
dm-cache-metadata.h
dm cache: policy ignore hints if generated by different version
2013-03-20 17:21:28 +00:00
dm-cache-policy-cleaner.c
dm cache: policy change version from string to integer set
2013-03-20 17:21:27 +00:00
dm-cache-policy-internal.h
dm cache: policy change version from string to integer set
2013-03-20 17:21:27 +00:00
dm-cache-policy-mq.c
dm cache: policy change version from string to integer set
2013-03-20 17:21:27 +00:00
dm-cache-policy.c
dm cache: policy change version from string to integer set
2013-03-20 17:21:27 +00:00
dm-cache-policy.h
dm cache policy: fix description of lookup fn
2013-05-10 14:37:17 +01:00
dm-cache-target.c
dm cache: fix arm link errors with inline
2013-07-10 23:41:17 +01:00
dm-crypt.c
block: Convert some code to bio_for_each_segment_all()
2013-03-23 14:26:30 -07:00
dm-delay.c
dm: rename request variables to bios
2013-03-01 22:45:47 +00:00
dm-exception-store.c
dm-exception-store.h
dm-flakey.c
dm flakey: correct ctr alloc failure mesg
2013-07-10 23:41:17 +01:00
dm-io.c
dm-ioctl.c
dm: optimize use SRCU and RCU
2013-07-10 23:41:18 +01:00
dm-kcopyd.c
dm kcopyd: introduce configurable throttling
2013-03-01 22:45:49 +00:00
dm-linear.c
dm: rename request variables to bios
2013-03-01 22:45:47 +00:00
dm-log-userspace-base.c
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log.c
dm-mpath.c
dm mpath: fix ioctl deadlock when no paths
2013-07-10 23:41:15 +01:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c
MD: Remember the last sync operation that was performed
2013-06-26 12:38:24 +10:00
dm-raid1.c
block: Use bio_sectors() more consistently
2013-03-23 14:15:30 -07:00
dm-region-hash.c
dm-round-robin.c
dm-service-time.c
dm-snap-persistent.c
dm-snap-transient.c
dm-snap.c
dm snapshot: fix error return code in snapshot_ctr
2013-05-10 14:37:15 +01:00
dm-stripe.c
dm stripe: fix regression in stripe_width calculation
2013-05-10 14:37:14 +01:00
dm-switch.c
dm: add switch target
2013-07-10 23:41:19 +01:00
dm-sysfs.c
dm-table.c
dm: optimize use SRCU and RCU
2013-07-10 23:41:18 +01:00
dm-target.c
dm: rename request variables to bios
2013-03-01 22:45:47 +00:00
dm-thin-metadata.c
dm thin: generate event when metadata threshold passed
2013-05-10 14:37:21 +01:00
dm-thin-metadata.h
dm thin: generate event when metadata threshold passed
2013-05-10 14:37:21 +01:00
dm-thin.c
dm thin: fix metadata dev resize detection
2013-05-19 18:57:50 +01:00
dm-uevent.c
dm-uevent.h
dm-verity.c
dm verity: use __ffs and __fls
2013-07-10 23:41:17 +01:00
dm-zero.c
dm: rename request variables to bios
2013-03-01 22:45:47 +00:00
dm.c
dm: optimize reorder structure
2013-07-10 23:41:18 +01:00
dm.h
faulty.c
block: Add bio_end_sector()
2013-03-23 14:15:29 -07:00
Kconfig
dm: add switch target
2013-07-10 23:41:19 +01:00
linear.c
block: Add bio_end_sector()
2013-03-23 14:15:29 -07:00
linear.h
Makefile
dm: add switch target
2013-07-10 23:41:19 +01:00
md.c
md: Remove recent change which allows devices to skip recovery.
2013-07-18 14:18:03 +10:00
md.h
MD: Remember the last sync operation that was performed
2013-06-26 12:38:24 +10:00
multipath.c
multipath.h
raid0.c
md: fix buglet in RAID5 -> RAID0 conversion.
2013-06-26 12:38:19 +10:00
raid0.h
raid1.c
md/raid1: fix bio handling problems in process_checks()
2013-07-18 14:18:04 +10:00
raid1.h
raid5.c
md/raid5: allow 5-device RAID6 to be reshaped to 4-device.
2013-07-04 16:42:52 +10:00
raid5.h
md: remove CONFIG_MULTICORE_RAID456 entirely
2013-03-20 13:21:14 +11:00
raid10.c
md/raid10: fix two problems with RAID10 resync.
2013-07-18 14:18:01 +10:00
raid10.h
MD RAID10: Improve redundancy for 'far' and 'offset' algorithms (part 1)
2013-02-26 11:55:30 +11:00