summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_mount.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-02-08 01:07:58 +0300
committerDarrick J. Wong <darrick.wong@oracle.com>2017-02-09 22:36:40 +0300
commit4560e78f40cb55bd2ea8f1ef4001c5baa88531c7 (patch)
tree8dc0b7babd87706130fbc1f7acc86f53eb6754a7 /fs/xfs/xfs_mount.c
parent46694129816851cb323e4bcf2dc41482d8d6c19b (diff)
downloadlinux-4560e78f40cb55bd2ea8f1ef4001c5baa88531c7.tar.xz
xfs: don't block the log commit handler for discards
Instead we submit the discard requests and use another workqueue to release the extents from the extent busy list. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/xfs_mount.c')
-rw-r--r--fs/xfs/xfs_mount.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 566eb79666ad..450bde68bb75 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -1085,6 +1085,7 @@ xfs_unmountfs(
* any discard operation.
*/
xfs_extent_busy_wait_all(mp);
+ flush_workqueue(xfs_discard_wq);
/*
* We now need to tell the world we are unmounting. This will allow