summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShehjar Tikoo <shehjart@gluster.com>2009-10-01 06:58:54 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-10-01 07:23:13 -0700
commit5654dc9f93abe195fd4a1d3ed4a4971710db06e4 (patch)
treee1e8b0bc08b95b6e039be009f54c3cb3c1d1ac9c
parentecf1ea918f206a23c2c74a792ee61f4c5ac799c2 (diff)
locks: NFS-friendly logic changes
Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
-rw-r--r--xlators/features/filter/src/filter.c4
-rw-r--r--xlators/features/locks/src/posix.c11
2 files changed, 9 insertions, 6 deletions
diff --git a/xlators/features/filter/src/filter.c b/xlators/features/filter/src/filter.c
index ce31753a4..1a9fe4ad9 100644
--- a/xlators/features/filter/src/filter.c
+++ b/xlators/features/filter/src/filter.c
@@ -213,8 +213,10 @@ filter_lookup_cbk (call_frame_t *frame,
gf_log (this->name, GF_LOG_ERROR,
"couldn't set context");
}
+
+ update_stat (postparent, this->private);
}
- STACK_UNWIND (frame, op_ret, op_errno, inode, buf, dict);
+ STACK_UNWIND (frame, op_ret, op_errno, inode, buf, dict, postparent);
return 0;
}
diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c
index 379c2d915..c77d607b6 100644
--- a/xlators/features/locks/src/posix.c
+++ b/xlators/features/locks/src/posix.c
@@ -166,7 +166,7 @@ unwind:
if (local->op == TRUNCATE)
loc_wipe (&local->loc);
- STACK_UNWIND (frame, op_ret, op_errno, buf);
+ STACK_UNWIND (frame, op_ret, op_errno, buf, NULL);
return 0;
}
@@ -196,7 +196,7 @@ pl_truncate (call_frame_t *frame, xlator_t *this,
return 0;
unwind:
- STACK_UNWIND (frame, -1, ENOMEM, NULL);
+ STACK_UNWIND (frame, -1, ENOMEM, NULL, NULL);
return 0;
}
@@ -226,7 +226,7 @@ pl_ftruncate (call_frame_t *frame, xlator_t *this,
return 0;
unwind:
- STACK_UNWIND (frame, -1, ENOMEM, NULL);
+ STACK_UNWIND (frame, -1, ENOMEM, NULL, NULL);
return 0;
}
@@ -326,7 +326,8 @@ pl_create_cbk (call_frame_t *frame, void *cookie,
fd_t *fd, inode_t *inode, struct stat *buf,
struct stat *preparent, struct stat *postparent)
{
- STACK_UNWIND (frame, op_ret, op_errno, fd, inode, buf);
+ STACK_UNWIND (frame, op_ret, op_errno, fd, inode, buf,
+ preparent, postparent);
return 0;
}
@@ -596,7 +597,7 @@ pl_writev (call_frame_t *frame, xlator_t *this, fd_t *fd,
fd, vector, count, offset, iobref);
if (op_ret == -1)
- STACK_UNWIND (frame, -1, op_errno, NULL, 0, NULL);
+ STACK_UNWIND (frame, -1, op_errno, NULL, NULL);
return 0;
}