diff options
author | Dave Chinner <dchinner@redhat.com> | 2023-06-28 21:04:32 +0300 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2023-06-29 19:28:23 +0300 |
commit | 6a2a9d776c4ae24a797e25eed2b9f7f33f756296 (patch) | |
tree | b787b42906a947ea1f802784e41d5f90e079020a /fs/xfs/xfs_extent_busy.c | |
parent | b742d7b4f0e03df25c2a772adcded35044b625ca (diff) | |
download | linux-6a2a9d776c4ae24a797e25eed2b9f7f33f756296.tar.xz |
xfs: pass alloc flags through to xfs_extent_busy_flush()
To avoid blocking in xfs_extent_busy_flush() when freeing extents
and the only busy extents are held by the current transaction, we
need to pass the XFS_ALLOC_FLAG_FREEING flag context all the way
into xfs_extent_busy_flush().
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Chandan Babu R <chandan.babu@oracle.com>
Diffstat (limited to 'fs/xfs/xfs_extent_busy.c')
-rw-r--r-- | fs/xfs/xfs_extent_busy.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_extent_busy.c b/fs/xfs/xfs_extent_busy.c index f3d328e4a440..5f44936eae1c 100644 --- a/fs/xfs/xfs_extent_busy.c +++ b/fs/xfs/xfs_extent_busy.c @@ -571,7 +571,8 @@ void xfs_extent_busy_flush( struct xfs_mount *mp, struct xfs_perag *pag, - unsigned busy_gen) + unsigned busy_gen, + uint32_t alloc_flags) { DEFINE_WAIT (wait); int error; |