[GFS2] nfsd readdirplus assertion failure
authorWendy Cheng <wcheng@redhat.com>
Tue, 6 Feb 2007 08:52:16 +0000 (03:52 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 6 Feb 2007 16:36:01 +0000 (11:36 -0500)
commit549ae0ac3d574a682e82b02e79259a65445a675b
tree53e316e1f2d9aacc01f71eee23a8f2b04230c788
parenta34fbc6363256387372331000462691bc4b3f5a9
[GFS2] nfsd readdirplus assertion failure

Glock assertion failure found in '07 NFS connectathon. One of the NFSDs
is doing a "readdirplus" procedure call. It passes the logic into
gfs2_readdir() where it obtains its directory inode glock. This is then
followed by filehandle construction that invokes lookup code. It hits
the assertion failure while trying to obtain the inode glock again
inside gfs2_drevalidate().

This patch bypasses the recursive glock call if caller already holds the
lock.

Signed-off-by: S. Wendy Cheng <wcheng@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/ops_dentry.c