e3c68b
From 147cff762b307bf60519bae4cdefc62f655119a7 Mon Sep 17 00:00:00 2001
e3c68b
From: Pranith Kumar K <pkarampu@redhat.com>
e3c68b
Date: Wed, 30 Oct 2019 10:47:17 +0530
e3c68b
Subject: [PATCH 331/335] features/locks: Do special handling for op-version <
e3c68b
 3.12.0
e3c68b
e3c68b
Problem:
e3c68b
Patch https://code.engineering.redhat.com/gerrit/#/c/140080/ diverges from
e3c68b
its upstream patch(https://review.gluster.org/c/glusterfs/+/20031) in op-version.
e3c68b
On upstream special-handling happens for version < 3.10.0 whereas for downstream
e3c68b
special-handling happens for version < 3.12.0.
e3c68b
    When rebase happened for 3.5.0 from upstream, this downstream specific change
e3c68b
is missed as there was no special downstream-only patch tracking this difference.
e3c68b
This leads to I/O errors on upgrade from 3.3.1->3.5.0
e3c68b
e3c68b
Fix:
e3c68b
Do special handling for op-version < 3.12.0 as in 3.4.x
e3c68b
e3c68b
Change-Id: I72fec058bdfb3cd30d017d205c90aa61aec86c5d
e3c68b
Label: DOWNSTREAM ONLY
e3c68b
BUG: 1766640
e3c68b
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
e3c68b
Reviewed-on: https://code.engineering.redhat.com/gerrit/185835
e3c68b
Reviewed-by: Xavi Hernandez Juan <xhernandez@redhat.com>
e3c68b
---
e3c68b
 xlators/features/locks/src/posix.c | 2 +-
e3c68b
 1 file changed, 1 insertion(+), 1 deletion(-)
e3c68b
e3c68b
diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c
e3c68b
index 9db5ac6..4592240 100644
e3c68b
--- a/xlators/features/locks/src/posix.c
e3c68b
+++ b/xlators/features/locks/src/posix.c
e3c68b
@@ -57,7 +57,7 @@ fetch_pathinfo(xlator_t *, inode_t *, int32_t *, char **);
e3c68b
     do {                                                                       \
e3c68b
         pl_local_t *__local = NULL;                                            \
e3c68b
         if (frame->root->client &&                                             \
e3c68b
-            (frame->root->client->opversion < GD_OP_VERSION_3_10_0)) {         \
e3c68b
+            (frame->root->client->opversion < GD_OP_VERSION_3_12_0)) {         \
e3c68b
             __local = frame->local;                                            \
e3c68b
             PL_STACK_UNWIND_AND_FREE(__local, fop, frame, op_ret, params);     \
e3c68b
         } else {                                                               \
e3c68b
-- 
e3c68b
1.8.3.1
e3c68b