Commit ca35dcd6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Felix Blyakher

xfs: switch to NOFS allocation under i_lock in xfs_getbmap

xfs_getbmap allocates memory 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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarFelix Blyakher <felixb@sgi.com>
Signed-off-by: default avatarFelix Blyakher <felixb@sgi.com>
parent 0cc6eee1
...@@ -6009,7 +6009,7 @@ xfs_getbmap( ...@@ -6009,7 +6009,7 @@ xfs_getbmap(
*/ */
error = ENOMEM; error = ENOMEM;
subnex = 16; subnex = 16;
map = kmem_alloc(subnex * sizeof(*map), KM_MAYFAIL); map = kmem_alloc(subnex * sizeof(*map), KM_MAYFAIL | KM_NOFS);
if (!map) if (!map)
goto out_unlock_ilock; goto out_unlock_ilock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment