summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/features/snapview-client/src/snapview-client.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c
index 218d178f65f..d16f10e2991 100644
--- a/xlators/features/snapview-client/src/snapview-client.c
+++ b/xlators/features/snapview-client/src/snapview-client.c
@@ -287,12 +287,16 @@ gf_svc_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
? GF_LOG_DEBUG:GF_LOG_ERROR,
"Lookup failed on snapview graph with error %s",
strerror (op_errno));
+ goto out;
}
if ((op_errno == ENOENT || op_errno == ESTALE) &&
!gf_uuid_is_null (local->loc.gfid)) {
- ret = svc_inode_ctx_get (this, inode, &inode_type);
- if (ret < 0 && subvolume == FIRST_CHILD (this)) {
+ if (inode != NULL)
+ ret = svc_inode_ctx_get (this, inode,
+ &inode_type);
+
+ if (ret < 0 || inode == NULL) {
gf_log (this->name, GF_LOG_DEBUG,
"Lookup on normal graph failed. "
"Sending lookup to snapview-server");