summaryrefslogtreecommitdiffstats
path: root/xlators/nfs/server
diff options
context:
space:
mode:
authorRajesh Amaravathi <rajesh@redhat.com>2013-05-06 17:00:57 +0530
committerAnand Avati <avati@redhat.com>2013-05-06 23:00:41 -0700
commitd3e3a849ddce1ade85ddb885474b66299e98744d (patch)
treec84a950fd3b297f9b751357de2522498bb045fb2 /xlators/nfs/server
parent760d4e1d5836574239a13973003f4e5ec6f033a1 (diff)
nfs: avoid double fd unref in opendir
Noticed that the fd_unref was called on the fd regardless of the return value at nfs3svc_opendir_readdir_cbk(), hence removing an extra unref in the negative case in nfs_inode_opendir_cbk, which fixes the spurious fd_unref(). Change-Id: I2bf68410dd86cdf9cfe8a3d43adc27497d8bb36f BUG: 959190 Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com> Reviewed-on: http://review.gluster.org/4943 Reviewed-by: Amar Tumballi <amarts@redhat.com> Tested-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/nfs/server')
-rw-r--r--xlators/nfs/server/src/nfs-inodes.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/xlators/nfs/server/src/nfs-inodes.c b/xlators/nfs/server/src/nfs-inodes.c
index a68f8b227..291152f85 100644
--- a/xlators/nfs/server/src/nfs-inodes.c
+++ b/xlators/nfs/server/src/nfs-inodes.c
@@ -572,9 +572,7 @@ nfs_inode_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
struct nfs_fop_local *nfl = NULL;
fop_open_cbk_t progcbk = NULL;
- if ((op_ret == -1) && (fd))
- fd_unref (fd);
- else
+ if (op_ret != -1)
fd_bind (fd);
inodes_nfl_to_prog_data (nfl, progcbk, frame);