diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2009-10-01 06:58:54 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-10-01 07:23:13 -0700 |
commit | 5654dc9f93abe195fd4a1d3ed4a4971710db06e4 (patch) | |
tree | e1e8b0bc08b95b6e039be009f54c3cb3c1d1ac9c /xlators/features | |
parent | ecf1ea918f206a23c2c74a792ee61f4c5ac799c2 (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
Diffstat (limited to 'xlators/features')
-rw-r--r-- | xlators/features/filter/src/filter.c | 4 | ||||
-rw-r--r-- | xlators/features/locks/src/posix.c | 11 |
2 files changed, 9 insertions, 6 deletions
diff --git a/xlators/features/filter/src/filter.c b/xlators/features/filter/src/filter.c index ce31753a432..1a9fe4ad95d 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 379c2d9158c..c77d607b61d 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; } |