summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_extent_busy.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2023-06-28 21:04:32 +0300
committerDarrick J. Wong <djwong@kernel.org>2023-06-29 19:28:23 +0300
commit6a2a9d776c4ae24a797e25eed2b9f7f33f756296 (patch)
treeb787b42906a947ea1f802784e41d5f90e079020a /fs/xfs/xfs_extent_busy.c
parentb742d7b4f0e03df25c2a772adcded35044b625ca (diff)
downloadlinux-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.c3
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;