Patch "md/raid5: release/flush io in raid5_do_work()" has been added to the 4.13-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
md/raid5: release/flush io in raid5_do_work()
to the 4.13-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-raid5-release-flush-io-in-raid5_do_work.patch
and it can be found in the queue-4.13 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
9c72a18e46ebe0f09484cce8ebf847abdab58498Mon Sep 17 00:00:00 2001
From: Song Liu <[email protected]>
Date: Thu, 24 Aug 2017 09:53:59 -0700
Subject: md/raid5: release/flush io in raid5_do_work()
From: Song Liu <[email protected]>
commit 9c72a18e46ebe0f09484cce8ebf847abdab58498 upstream.
In raid5, there are scenarios where some ios are deferred to a later time, and some IO need a flush to complete. To make sure we make progress with these IOs, we need to call the following functions:
flush_deferred_bios(conf);
r5l_flush_stripe_to_raid(conf->log);Both of these functions are called in raid5d(), but missing in raid5_do_work(). As a result, these functions are not called when multi-threading (group_thread_cnt > 0) is enabled. This patch adds calls to these function to raid5_do_work().
Note for stable branches:
r5l_flush_stripe_to_raid(conf->log) is need for 4.4+ flush_deferred_bios(conf) is only needed for 4.11+
--- drivers/md/raid5.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/md/raid5.c +4 -0
@@ -6235,6 +6235,10 @@ static void raid5_do_work(struct work_stspin_unlock_irq (&conf->device_lock); +flush_deferred_bios (conf); + +r5l_flush_stripe_to_raid (conf->log); +async_tx_issue_pending_all ();blk_finish_plug (&plug);
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/md-raid5-release-flush-io-in-raid5_do_work.patch