diff options
author | vmallika <vmallika@redhat.com> | 2014-11-17 07:14:28 +0530 |
---|---|---|
committer | Krishnan Parthasarathi <kparthas@redhat.com> | 2014-11-17 03:37:47 -0800 |
commit | 85c4aa0615f161a9ff1c6b58a82b5a652eb83c43 (patch) | |
tree | 07335a3a3c14880d8807de2bb1bf89b43a440d93 /xlators/features/snapview-client | |
parent | dfc49143841fe84f846346a30dadce797940eebc (diff) |
gluster/uss: Don't send failure when accessing snap with name
same as entry-point name
In a scenario, if the snap name is same as the snap-directory than cd to
snaps/snaps fails.
Send a lookup to snap-view server instead of failing
Change-Id: Ie7b811815ff30961500592bbc8cdb514a9d76ef5
BUG: 1164613
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/9135
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'xlators/features/snapview-client')
-rw-r--r-- | xlators/features/snapview-client/src/snapview-client.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/xlators/features/snapview-client/src/snapview-client.c b/xlators/features/snapview-client/src/snapview-client.c index 5bb60d66dd6..5f58422c32e 100644 --- a/xlators/features/snapview-client/src/snapview-client.c +++ b/xlators/features/snapview-client/src/snapview-client.c @@ -312,26 +312,14 @@ svc_lookup (call_frame_t *frame, xlator_t *this, loc_t *loc, local->subvolume = subvolume; } } else { + subvolume = SECOND_CHILD (this); + local->subvolume = subvolume; if (parent_type == NORMAL_INODE) { - subvolume = SECOND_CHILD (this); - local->subvolume = subvolume; /* Indication of whether the lookup is happening on the entry point or not, to the snapview-server. */ SVC_ENTRY_POINT_SET (this, xdata, op_ret, op_errno, new_xdata, priv, ret, out); - } else { - /* Either error can be sent to application as - the entry point directory can exist only within - real directories and here the parent is a virtual - directory or send the call all the way to svs and - let it send the error back. For now it is sending - the error to application itself. (Saves the - network latency) - */ - op_ret = -1; - op_errno = ENOENT; - goto out; } } |