Whamcloud - gitweb
LU-10499 pcc: introducing OBD_CONNECT2_PCCRO flag 91/40791/8
authorQian Yingjin <qian@ddn.com>
Mon, 30 Nov 2020 02:08:17 +0000 (10:08 +0800)
committerOleg Drokin <green@whamcloud.com>
Mon, 12 Jul 2021 18:46:53 +0000 (18:46 +0000)
Add a new connection flag OBD_CONNECT2_PCCRO to solve the access
consistency from the old client without PCC-RO support.

By necessity, also include definitions for OBD_CONNECT2_MODE_CONVERT
and OBD_CONNECT2_BATCH_RPC so obd_connect_names[] works.

Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I19716e94a86e53353c1628d414c92e61e084dfc9
Reviewed-on: https://review.whamcloud.com/40791
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@whamcloud.com>
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c

index 0f2462b..d9e0f66 100644 (file)
@@ -850,7 +850,10 @@ struct ptlrpc_body_v2 {
 #define OBD_CONNECT2_GETATTR_PFID      0x20000ULL /* pack parent FID in getattr */
 #define OBD_CONNECT2_LSEEK            0x40000ULL /* SEEK_HOLE/DATA RPC */
 #define OBD_CONNECT2_DOM_LVB          0x80000ULL /* pack DOM glimpse data in LVB */
-#define OBD_CONNECT2_REP_MBITS         0x100000ULL /* match reply by mbits, not xid */
+#define OBD_CONNECT2_REP_MBITS       0x100000ULL /* match reply mbits not xid*/
+#define OBD_CONNECT2_MODE_CONVERT     0x200000ULL /* LDLM mode convert */
+#define OBD_CONNECT2_BATCH_RPC        0x400000ULL /* Multi-RPC batch request */
+#define OBD_CONNECT2_PCCRO           0x800000ULL /* Read-only PCC */
 #define OBD_CONNECT2_ATOMIC_OPEN_LOCK 0x4000000ULL/* request lock on 1st open */
 /* XXX README XXX:
  * Please DO NOT add flag values here before first ensuring that this same
index 61edecc..223c596 100644 (file)
@@ -1384,6 +1384,12 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT2_DOM_LVB);
        LASSERTF(OBD_CONNECT2_REP_MBITS == 0x100000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_REP_MBITS);
+       LASSERTF(OBD_CONNECT2_MODE_CONVERT == 0x200000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_MODE_CONVERT);
+       LASSERTF(OBD_CONNECT2_BATCH_RPC == 0x400000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_BATCH_RPC);
+       LASSERTF(OBD_CONNECT2_PCCRO == 0x800000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_PCCRO);
        LASSERTF(OBD_CONNECT2_ATOMIC_OPEN_LOCK == 0x4000000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_ATOMIC_OPEN_LOCK);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
index 983eb54..2572237 100644 (file)
@@ -628,6 +628,9 @@ check_obd_connect_data(void)
        CHECK_DEFINE_64X(OBD_CONNECT2_LSEEK);
        CHECK_DEFINE_64X(OBD_CONNECT2_DOM_LVB);
        CHECK_DEFINE_64X(OBD_CONNECT2_REP_MBITS);
+       CHECK_DEFINE_64X(OBD_CONNECT2_MODE_CONVERT);
+       CHECK_DEFINE_64X(OBD_CONNECT2_BATCH_RPC);
+       CHECK_DEFINE_64X(OBD_CONNECT2_PCCRO);
        CHECK_DEFINE_64X(OBD_CONNECT2_ATOMIC_OPEN_LOCK);
 
        CHECK_VALUE_X(OBD_CKSUM_CRC32);
index b67db59..4983037 100644 (file)
@@ -1409,6 +1409,12 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT2_DOM_LVB);
        LASSERTF(OBD_CONNECT2_REP_MBITS == 0x100000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_REP_MBITS);
+       LASSERTF(OBD_CONNECT2_MODE_CONVERT == 0x200000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_MODE_CONVERT);
+       LASSERTF(OBD_CONNECT2_BATCH_RPC == 0x400000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_BATCH_RPC);
+       LASSERTF(OBD_CONNECT2_PCCRO == 0x800000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_PCCRO);
        LASSERTF(OBD_CONNECT2_ATOMIC_OPEN_LOCK == 0x4000000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_ATOMIC_OPEN_LOCK);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",