Hello. Tejun Heo wrote:
From 49f4cef00a1bd3c79fb2fe1f982c5157f0792867 Mon Sep 17 00:00:00 2001 From: Jan Kara <jack@xxxxxxx>
Currently JBD2 relies blkdev_issue_flush() draining the queue when ASYNC_COMMIT feature is set. This property is going away so make JBD2 wait for buffers it needs on its own before submitting the cache flush.
Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> --- This patch is necessary before enabling flush/fua support in jbd2. The flush-fua git tree has been udpated to included this between patch 24 and 25.
Thanks.
fs/jbd2/commit.c | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 7c068c1..8797fd1 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c
[...]
@@ -845,6 +842,12 @@ wait_for_iobuf: } if (!err && !is_journal_aborted(journal)) err = journal_wait_on_commit_record(journal, cbh); + if (JBD2_HAS_INCOMPAT_FEATURE(journal, + JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT) && + journal->j_flags & JBD2_BARRIER) { + blkdev_issue_flush(journal->j_dev, GFP_KERNEL, NULL,
Overindented line.
+ BLKDEV_IFL_WAIT); + } if (err) jbd2_journal_abort(journal, err);
WBR, Sergei -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel