diff options
author | Mohammed Junaid Ahmed <junaid@gluster.com> | 2010-12-28 01:14:19 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-12-29 10:20:46 -0800 |
commit | 165efc45ab5518033612a58c1ac51243eb6bcef8 (patch) | |
tree | ce63a87e5e11f7663211818006fd3088ae0ac2f4 /xlators | |
parent | 010394ee5e237606023f455955e005e111b9fa5b (diff) |
nfs/server: unrefing inodes on error in nfs_loc_copy ().
Signed-off-by: Junaid <junaid@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2252 (unreffing of inodes not done when memory allocation fails)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2252
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/nfs/server/src/nfs-common.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/xlators/nfs/server/src/nfs-common.c b/xlators/nfs/server/src/nfs-common.c index ef2d1d3fdf5..f109cdde590 100644 --- a/xlators/nfs/server/src/nfs-common.c +++ b/xlators/nfs/server/src/nfs-common.c @@ -187,6 +187,14 @@ nfs_loc_copy (loc_t *dst, loc_t *src) ret = 0; out: + if (ret == -1) { + if (dst->inode) + inode_unref (dst->inode); + + if (dst->parent) + inode_unref (dst->parent); + } + return ret; } |