diff options
author | Dave Chinner <dchinner@redhat.com> | 2021-07-27 16:23:49 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2021-07-29 09:27:28 -0700 |
commit | 8191d8222c514c69a8e1ac46bd9812b9e0aab7d0 (patch) | |
tree | 3c973fc94ee8d22389bc5fa3a96b755934d45fc0 /fs/crypto/bio.c | |
parent | 2bf1ec0ff067ff8f692d261b29c713f3583f7e2a (diff) | |
download | linux-8191d8222c514c69a8e1ac46bd9812b9e0aab7d0.tar.gz |
xfs: avoid unnecessary waits in xfs_log_force_lsn()
Before waiting on a iclog in xfs_log_force_lsn(), we don't check to
see if the iclog has already been completed and the contents on
stable storage. We check for completed iclogs in xfs_log_force(), so
we should do the same thing for xfs_log_force_lsn().
This fixed some random up-to-30s pauses seen in unmounting
filesystems in some tests. A log force ends up waiting on completed
iclog, and that doesn't then get flushed (and hence the log force
get completed) until the background log worker issues a log force
that flushes the iclog in question. Then the unmount unblocks and
continues.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/crypto/bio.c')
0 files changed, 0 insertions, 0 deletions