summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-10-23 17:48:49 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2019-10-24 22:09:24 -0700
commitf3fe4abb2d68200d839f8a4462d67c685fa04ac5 (patch)
treeb1137518266ba2e481d17e38f7547e60c538cb57
parent7d194c2100ad2a6dded545887d02754948ca5241 (diff)
xfs: don't recurse into memory reclaim when allocating attr value bufferxfs-5.4-fixes_2019-10-24
If we're going to allocate buffers for attr values while holding the ilock, we cannot allow recursion into fs reclaim because reclaim try to kick off writeback against the inode we have ilocked, which could lead to a deadlock. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
-rw-r--r--fs/xfs/libxfs/xfs_attr_leaf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
index f0089e862216..ec7921e07f69 100644
--- a/fs/xfs/libxfs/xfs_attr_leaf.c
+++ b/fs/xfs/libxfs/xfs_attr_leaf.c
@@ -416,7 +416,7 @@ xfs_attr_copy_value(
}
if (args->op_flags & XFS_DA_OP_ALLOCVAL) {
- args->value = kmem_alloc_large(valuelen, 0);
+ args->value = kmem_alloc_large(valuelen, KM_NOFS);
if (!args->value)
return -ENOMEM;
}