]> git.baikalelectronics.ru Git - kernel.git/commit
NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
authorNeilBrown <neilb@suse.de>
Tue, 26 Jul 2022 06:45:30 +0000 (16:45 +1000)
committerChuck Lever <chuck.lever@oracle.com>
Thu, 4 Aug 2022 14:28:19 +0000 (10:28 -0400)
commit3dc8dff8090e876a7239466a9558a2fbb69d05ac
treeb2d8dc6155bb8050c0ebdca2700ae3fcfb4fe1bf
parent5a56d2d121d5042dcd884712d8344a108e86b5e8
NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.

nfsd_create() usually returns with the directory still locked.
nfsd_symlink() usually returns with it unlocked.  This is clumsy.

Until recently nfsd_create() needed to keep the directory locked until
ACLs and security label had been set.  These are now set inside
nfsd_create() (in nfsd_setattr()) so this need is gone.

So change nfsd_create() and nfsd_symlink() to always unlock, and remove
any fh_unlock() calls that follow calls to these functions.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs3proc.c
fs/nfsd/nfs4proc.c
fs/nfsd/vfs.c