diff options
author | Mohammed Rafi KC <rkavunga@redhat.com> | 2017-08-11 17:50:52 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2017-08-21 14:29:24 +0000 |
commit | 93d56da29c28a2e0161bfb8a87bd2f72c4ef4db1 (patch) | |
tree | ce9a6543fabf4f9115b3e25bf062175898e77b06 | |
parent | a6608cf7b62de850502c582a638cf0d5fc2cad9a (diff) |
uss/svc: Send the first lookup to the normal graph
When parent inode is not looked up before, the inode type
won't be set. In this scenario we should send the lookup
to the normal graph first.
Backport of>
>Change-Id: I5d3e53f5c1c33a17be32204f3114749d9b1e6db8
>BUG: 1480591
>Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
>Reviewed-on: https://review.gluster.org/18028
>Smoke: Gluster Build System <jenkins@build.gluster.org>
>Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
>Reviewed-by: soumya k <skoduri@redhat.com>
(cherry picked from commit d396d358d4f0cfe87693179cfd13eb2a84ce62c2)
Change-Id: I5d3e53f5c1c33a17be32204f3114749d9b1e6db8
BUG: 1481931
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Reviewed-on: https://review.gluster.org/18042
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
-rw-r--r-- | xlators/features/snapview-client/src/snapview-client.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c index dafd3d356f4..d9bd56814bf 100644 --- a/xlators/features/snapview-client/src/snapview-client.c +++ b/xlators/features/snapview-client/src/snapview-client.c @@ -414,13 +414,16 @@ gf_svc_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *xdata) } if (strcmp (loc->name, priv->path)) { - if (parent_type == NORMAL_INODE) { - subvolume = FIRST_CHILD (this); - local->subvolume = subvolume; - } else { + if (parent_type == VIRTUAL_INODE) { subvolume = SECOND_CHILD (this); - local->subvolume = subvolume; + } else { + /* + * Either parent type is normal graph, or the parent + * type is uncertain. + */ + subvolume = FIRST_CHILD (this); } + local->subvolume = subvolume; } else { subvolume = SECOND_CHILD (this); local->subvolume = subvolume; |