From 3c485cb896837c8e362fd0b094325002ce806ac4 Mon Sep 17 00:00:00 2001 From: Soumya Koduri Date: Wed, 13 Jul 2016 16:24:31 +0530 Subject: nfs: Reset cs->resolvedhard while resolving an entry If an entry is not found in the inode table, nfs xlator should be resolving it by sending an explicit lookup to the brick process. But currently its broken in case of NFS3_LOOKUP fop where in the server bails out early resulting in sending pargfid attributes to the client. To fix the same reset 'cs->resolvedhard' so that an explicit lookup is done for the entry in the resume_fn "nfs3_lookup_resume()". Change-Id: I999f8bca7ad008526c174d13f69886dc809d9552 Signed-off-by: Soumya Koduri BUG: 1356068 Reviewed-on: http://review.gluster.org/14911 CentOS-regression: Gluster Build System NetBSD-regression: NetBSD Build System Smoke: Gluster Build System Reviewed-by: Niels de Vos --- xlators/nfs/server/src/nfs3-helpers.c | 1 + 1 file changed, 1 insertion(+) (limited to 'xlators/nfs/server') diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index ad4c87e69d7..5ed57bde0e2 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -3786,6 +3786,7 @@ nfs3_fh_resolve_entry_hard (nfs3_call_state_t *cs) (nfs3_create_op (cs) && !nfs3_create_exclusive_op (cs))) { cs->lookuptype = GF_NFS3_FRESH; cs->resolve_ret = 0; + cs->hardresolved = 0; nfs3_call_resume (cs); } else { cs->hardresolved = 1; -- cgit