android_kernel_xiaomi_sm8350/drivers/md
NeilBrown 9910f16af3 [PATCH] md: fix up some rdev rcu locking in raid5/6
There is this "FIXME" comment with a typo in it!!  that been annoying me for
days, so I just had to remove it.

conf->disks[i].rdev should only be accessed if
  - we know we hold a reference or
  - the mddev->reconfig_sem is down or
  - we have a rcu_readlock

handle_stripe was referencing rdev in three places without any of these.  For
the first two, get an rcu_readlock.  For the last, the same access
(md_sync_acct call) is made a little later after the rdev has been claimed
under and rcu_readlock, if R5_Syncio is set.  So just use that access...
However R5_Syncio isn't really needed as the 'syncing' variable contains the
same information.  So use that instead.

Issues, comment, and fix are identical in raid5 and raid6.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-06 08:34:04 -08:00
..
raid6test
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
bitmap.c [PATCH] md: move bitmap_create to after md array has been initialised 2006-01-06 08:34:03 -08:00
dm-bio-list.h [PATCH] device-mapper snapshot: bio_list fix 2005-11-22 09:14:31 -08:00
dm-bio-record.h
dm-crypt.c [PATCH] dm-crypt: zero key before freeing it 2006-01-06 08:34:01 -08:00
dm-emc.c
dm-exception-store.c
dm-hw-handler.c
dm-hw-handler.h
dm-io.c
dm-io.h [PATCH] device-mapper: remove unused definition 2006-01-06 08:34:00 -08:00
dm-ioctl.c [PATCH] device-mapper ioctl: add skip lock_fs flag 2006-01-06 08:34:01 -08:00
dm-linear.c
dm-log.c [PATCH] make dm-mirror not issue invalid resync requests 2006-01-06 08:34:01 -08:00
dm-log.h
dm-mpath.c [PATCH] device-mapper dm-mpath: endio spinlock fix 2005-11-22 09:14:31 -08:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-raid1.c [PATCH] device-mapper raid1: add default mirror 2006-01-06 08:34:00 -08:00
dm-round-robin.c
dm-snap.c [PATCH] device-mapper snapshot: metadata reading separation 2006-01-06 08:34:00 -08:00
dm-snap.h
dm-stripe.c
dm-table.c [SCSI] seperate max_sectors from max_hw_sectors 2005-12-15 15:11:40 -08:00
dm-target.c
dm-zero.c
dm.c [PATCH] device-mapper: make lock_fs optional 2006-01-06 08:34:01 -08:00
dm.h [PATCH] device-mapper: make lock_fs optional 2006-01-06 08:34:01 -08:00
faulty.c
Kconfig
kcopyd.c [PATCH] drivers/md/kcopyd.c: #if 0 kcopyd_cancel() 2006-01-06 08:34:01 -08:00
kcopyd.h
linear.c [BLOCK] Unify the seperate read/write io stat fields into arrays 2005-11-01 09:26:16 +01:00
Makefile
md.c [PATCH] md: attempt to auto-correct read errors in raid1 2006-01-06 08:34:03 -08:00
mktables.c
multipath.c [PATCH] md: convert 'faulty' and 'in_sync' fields to bits in 'flags' field 2005-11-09 07:56:38 -08:00
raid0.c [BLOCK] Unify the seperate read/write io stat fields into arrays 2005-11-01 09:26:16 +01:00
raid1.c [PATCH] md: handle errors when read-only 2006-01-06 08:34:04 -08:00
raid5.c [PATCH] md: fix up some rdev rcu locking in raid5/6 2006-01-06 08:34:04 -08:00
raid6.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6main.c [PATCH] md: fix up some rdev rcu locking in raid5/6 2006-01-06 08:34:04 -08:00
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: write intent bitmap support for raid10 2006-01-06 08:34:03 -08:00
unroll.pl
xor.c