diff options
| author | Anand Avati <avati@gluster.com> | 2010-01-23 04:28:27 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2010-01-23 02:04:30 -0800 | 
| commit | 7788f8b76c082f22f10b5367e26d5cde25c949de (patch) | |
| tree | a15e289ba157a8c4d3b6892a8853bab7840efb10 /xlators/protocol/server/src/server-protocol.c | |
| parent | 18404ac45271f8b0043652033e49236af4f62742 (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
Diffstat (limited to 'xlators/protocol/server/src/server-protocol.c')
| -rw-r--r-- | xlators/protocol/server/src/server-protocol.c | 6 | 
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 6dbb213bcb2..6f7ecf9097b 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;  	}  | 
