[PATCH 17/19] VFS: set PF_FSTRANS while namespace_sem is held.
Al Viro
viro at ZenIV.linux.org.uk
Tue Apr 15 23:46:18 CDT 2014
On Wed, Apr 16, 2014 at 02:03:37PM +1000, NeilBrown wrote:
> namespace_sem can be taken while various i_mutex locks are held, so we
> need to avoid reclaim from blocking on an FS (particularly loop-back
> NFS).
I would really prefer to deal with that differently - by explicit change of
gfp_t arguments of allocators.
The thing is, namespace_sem is held *only* over allocations, and not a lot
of them, at that - only mnt_alloc_id(), mnt_alloc_group_id(), alloc_vfsmnt()
and new_mountpoint(). That is all that is allowed.
Again, actual work with filesystems (setup, shutdown, remount, pathname
resolution, etc.) is all done outside of namespace_sem; it's held only
for manipulations of fs/{namespace,pnode}.c data structures and the only
reason it isn't a spinlock is that we need to do some allocations.
So I'd rather slap GFP_NOFS on those few allocations...
More information about the xfs
mailing list