nfs : set ctx for every inode looked up nfs3_fh_resolve_inode_lookup_cbk()

The inode ctx for nfs xlator is set with help nfs_fix_generation.
But currently gnfs is crashing because inode_ctx is becoming null
nfs3_resolve_inode_hard() is used to perform a lookup on entire
path and looks like function is missing to set the ctx for inode.
This patch will set ctx for the inode which it looked on.

Change-Id: I464fa7f78df1bae990ebe97de8ccf6d5fb74fc9f
fixes: bz#1651439
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
This commit is contained in:
Jiffin Tony Thottan 2018-11-29 19:22:40 +05:30 committed by Amar Tumballi
parent 7c0cb6eebd
commit 99c72652f8

View File

@ -3556,6 +3556,12 @@ nfs3_fh_resolve_entry_lookup_cbk(call_frame_t *frame, void *cookie,
inode_lookup(linked_inode);
inode_unref(cs->resolvedloc.inode);
cs->resolvedloc.inode = linked_inode;
} else {
/* nfs3_fh_resolve_entry_hard() use to resolve entire path if needed.
* So the ctx for inode obtained from here need to set properly,
* otherwise it may result in a crash.
*/
nfs_fix_generation(this, inode);
}
err:
nfs3_call_resume(cs);