android_kernel_xiaomi_sm8350/drivers/md
Dan Williams c8894419ac md: fix raid5 'repair' operations
commit bd2ab67030 "md: close a livelock window
in handle_parity_checks5" introduced a bug in handling 'repair' operations.
After a repair operation completes we clear the state bits tracking this
operation.  However, they are cleared too early and this results in the code
deciding to re-run the parity check operation.  Since we have done the repair
in memory the second check does not find a mismatch and thus does not do a
writeback.

Test results:
$ echo repair > /sys/block/md0/md/sync_action
$ cat /sys/block/md0/md/mismatch_cnt
51072
$ echo repair > /sys/block/md0/md/sync_action
$ cat /sys/block/md0/md/mismatch_cnt
0

(also fix incorrect indentation)

Cc: <stable@kernel.org>
Tested-by: George Spelvin <linux@horizon.com>
Acked-by: NeilBrown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-05-13 08:02:24 -07:00
..
raid6test
.gitignore
bitmap.c
dm-bio-list.h
dm-bio-record.h
dm-crypt.c
dm-delay.c
dm-emc.c block: no need to initialize rq->cmd with blk_get_request 2008-04-29 14:48:55 +02:00
dm-exception-store.c
dm-hw-handler.c
dm-hw-handler.h
dm-io.c
dm-ioctl.c
dm-kcopyd.c
dm-linear.c
dm-log.c
dm-mpath-hp-sw.c block: no need to initialize rq->cmd with blk_get_request 2008-04-29 14:48:55 +02:00
dm-mpath-rdac.c block: no need to initialize rq->cmd with blk_get_request 2008-04-29 14:48:55 +02:00
dm-mpath.c
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-raid1.c
dm-round-robin.c
dm-snap.c
dm-snap.h
dm-stripe.c
dm-table.c dm: use unlocked variants of queue flag check/set 2008-04-29 10:21:12 -07:00
dm-target.c
dm-uevent.c
dm-uevent.h
dm-zero.c
dm.c
dm.h
faulty.c
Kconfig
linear.c
Makefile
md.c md: support blocking writes to an array on device failure 2008-04-30 08:29:33 -07:00
mktables.c
multipath.c raid: remove leading TAB on printk messages 2008-04-28 08:58:42 -07:00
raid0.c
raid1.c md: support blocking writes to an array on device failure 2008-04-30 08:29:33 -07:00
raid5.c md: fix raid5 'repair' operations 2008-05-13 08:02:24 -07:00
raid6.h
raid6algos.c drivers/md: use time_before, time_before_eq, etc 2008-04-28 08:58:42 -07:00
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c misc: fix integer as NULL pointer warnings 2008-05-08 10:46:55 -07:00
unroll.pl