summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnand Avati <avati@gluster.com>2010-01-23 04:28:27 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-01-23 02:04:30 -0800
commit7788f8b76c082f22f10b5367e26d5cde25c949de (patch)
treea15e289ba157a8c4d3b6892a8853bab7840efb10
parent18404ac45271f8b0043652033e49236af4f62742 (diff)
protocol/server: use properly filled loc_t for performing revalidates
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 567 (crash in server_lookup_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=567
-rw-r--r--xlators/protocol/server/src/server-protocol.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/xlators/protocol/server/src/server-protocol.c b/xlators/protocol/server/src/server-protocol.c
index 6dbb213bc..6f7ecf909 100644
--- a/xlators/protocol/server/src/server-protocol.c
+++ b/xlators/protocol/server/src/server-protocol.c
@@ -2278,7 +2278,6 @@ server_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
size_t hdrlen = 0;
int32_t gf_errno = 0;
int32_t ret = -1;
- loc_t loc = {0,};
state = CALL_STATE(frame);
if ((op_errno == ESTALE) && (op_ret == -1)) {
@@ -2290,14 +2289,13 @@ server_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
inode_unref (state->loc.inode);
state->loc.inode = inode_new (BOUND_XL(frame)->itable);
}
- loc.inode = state->loc.inode;
- loc.path = state->path;
+
state->is_revalidate = 2;
STACK_WIND (frame, server_lookup_cbk,
BOUND_XL(frame),
BOUND_XL(frame)->fops->lookup,
- &loc,
+ &state->loc,
state->xattr_req);
return 0;
}