提交 3f52c2f0 编写于 作者: C Christoph Hellwig 提交者: Felix Blyakher

xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result

xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken
in reclaim context so all allocations under it must avoid recursions into the
filesystem.

Reported by the new reclaim context tracing in lockdep.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Reviewed-by: NFelix Blyakher <felixb@sgi.com>
Signed-off-by: NFelix Blyakher <felixb@sgi.com>
上级 73195ed7
...@@ -256,7 +256,7 @@ xfs_dir_cilookup_result( ...@@ -256,7 +256,7 @@ xfs_dir_cilookup_result(
!(args->op_flags & XFS_DA_OP_CILOOKUP)) !(args->op_flags & XFS_DA_OP_CILOOKUP))
return EEXIST; return EEXIST;
args->value = kmem_alloc(len, KM_MAYFAIL); args->value = kmem_alloc(len, KM_NOFS | KM_MAYFAIL);
if (!args->value) if (!args->value)
return ENOMEM; return ENOMEM;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册