android_kernel_xiaomi_sm8350/drivers/md
NeilBrown 6985c43f39 [PATCH] Three one-liners in md.c
The main problem fixes is that in certain situations stopping md arrays may
take longer than you expect, or may require multiple attempts.  This would
only happen when resync/recovery is happening.

This patch fixes three vaguely related bugs.

1/ The recent change to use kthreads got the setting of the
   process name wrong.  This fixes it.
2/ The recent change to use kthreads lost the ability for
   md threads to be signalled with SIG_KILL.  This restores that.
3/ There is a long standing bug in that if:
    - An array needs recovery (onto a hot-spare) and
    - The recovery is being blocked because some other array being
       recovered shares a physical device and
    - The recovery thread is killed with SIG_KILL
   Then the recovery will appear to have completed with no IO being
   done, which can cause data corruption.
   This patch makes sure that incomplete recovery will be treated as
   incomplete.

Note that any kernel affected by bug 2 will not suffer the problem of bug
3, as the signal can never be delivered.  Thus the current 2.6.14-rc
kernels are not susceptible to data corruption.  Note also that if arrays
are shutdown (with "mdadm -S" or "raidstop") then the problem doesn't
occur.  It only happens if a SIGKILL is independently delivered as done by
'init' when shutting down.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-19 23:04:30 -07:00
..
raid6test [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
bitmap.c [PATCH] md: tidy up daemon stop/start code in md/bitmap.c 2005-09-09 16:39:13 -07:00
dm-bio-list.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-bio-record.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-crypt.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dm-emc.c [PATCH] device-mapper dm-emc: Fix a memset 2005-05-05 16:36:46 -07:00
dm-exception-store.c [PATCH] vfree and kfree cleanup in drivers/ 2005-09-10 10:06:30 -07:00
dm-hw-handler.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-hw-handler.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-io.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dm-io.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-ioctl.c [PATCH] device-mapper: Trigger an event when a table is deleted 2005-09-28 07:46:42 -07:00
dm-linear.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-log.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-log.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-mpath.c [PATCH] device-mapper: Fix queue_if_no_path initialisation 2005-09-28 07:46:42 -07:00
dm-mpath.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-path-selector.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm-path-selector.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-raid1.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dm-round-robin.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-snap.c [PATCH] device-mapper snapshots: Handle origin extension 2005-07-12 16:19:11 -07:00
dm-snap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-stripe.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-table.c [PATCH] device-mapper: fix deadlocks in core (prep) 2005-07-28 21:46:03 -07:00
dm-target.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-zero.c [PATCH] device-mapper: Some missing statics 2005-05-05 16:36:46 -07:00
dm.c [PATCH] kill bio->bi_set 2005-09-07 16:57:20 -07:00
dm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
faulty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kcopyd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kcopyd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linear.c [PATCH] md: support md/linear array with components greater than 2 terabytes. 2005-09-09 16:39:10 -07:00
Makefile [PATCH] md: optimised resync using Bitmap based intent logging 2005-06-21 19:07:43 -07:00
md.c [PATCH] Three one-liners in md.c 2005-10-19 23:04:30 -07:00
mktables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
raid0.c [PATCH] md: fail IO request to md that require a barrier. 2005-09-09 16:39:09 -07:00
raid1.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
raid5.c [PATCH] md: add write-intent-bitmap support to raid5 2005-09-09 16:39:12 -07:00
raid6.h [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6algos.c [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6altivec.uc [PATCH] RAID6 Altivec fix 2005-09-17 11:49:58 -07:00
raid6int.uc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6main.c [PATCH] md: write-intent bitmap support for raid6 2005-09-09 16:39:12 -07:00
raid6mmx.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6recov.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse1.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6sse2.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid6x86.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raid10.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00