Patch "md/raid10: wait up frozen array in handle_write_completed" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
md/raid10: wait up frozen array in handle_write_completed
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
md-raid10-wait-up-frozen-array-in-handle_write_completed.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Mar 22 14:40:23 CET 2018
From: Guoqing Jiang <[email protected]>
Date: Mon, 17 Apr 2017 17:11:05 +0800
Subject: md/raid10: wait up frozen array in handle_write_completed
From: Guoqing Jiang <[email protected]>
[ Upstream commit cf25ae78fc50010f66b9be945017796da34c434d ]
Since nr_queued is changed, we need to call wake_up here if the array is already frozen and waiting for condition "nr_pending == nr_queued + extra" to be true.
And commit 824e47daddbf ("RAID1: avoid unnecessary spin locks in I/O barrier code") which has already added the wake_up for raid1.
--- drivers/md/raid10.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/md/raid10.c +5 -0
@@ -2704,6 +2704,11 @@ static void handle_write_completed(struclist_add (&r10_bio->retry_list, &conf->bio_end_io_list); conf->nr_queued++;spin_unlock_irq (&conf->device_lock); +/* +* In case freeze_array() is waiting for condition +* nr_pending == nr_queued + extra to be true. +*/ +wake_up (&conf->wait_barrier);md_wakeup_thread (conf->mddev->thread); }else { if (test_bit(R10BIO_WriteError,
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/md-raid10-wait-up-frozen-array-in-handle_write_completed.patch queue-4.9/md-raid10-skip-spare-disk-as-first-disk.patch