Whamcloud - gitweb
LU-10114 hsm: add OBD_CONNECT2_ARCHIVE_ID_ARRAY to pass archive_id lists in array 06/32806/5
authorTeddy Zheng <teddy@ddn.com>
Fri, 27 Jul 2018 05:37:18 +0000 (13:37 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 9 Aug 2018 18:20:21 +0000 (18:20 +0000)
Clients registed to MDS with OBD_CONNECT2_ARCHIVE_ID_ARRAY will
use array to pass ARCHIVED IDs. While clients without it still
use bitmap. This flag allows old clients connect to new MDSs.

Test-Parameters: trivial
Change-Id: I61a691fc262fdc921d5ff4aa88c1fd623f09d565
Signed-off-by: Teddy Zheng <teddy@ddn.com>
Signed-off-by: Li Xi <lixi@ddn.com>
Reviewed-on: https://review.whamcloud.com/32806
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/obdclass/lprocfs_status.c
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c

index 38adae2..14aa8dd 100644 (file)
@@ -826,6 +826,7 @@ struct ptlrpc_body_v2 {
 #define OBD_CONNECT2_FLR               0x20ULL /* FLR support */
 #define OBD_CONNECT2_WBC_INTENTS       0x40ULL /* create/unlink/... intents for wbc, also operations under client-held parent locks */
 #define OBD_CONNECT2_LOCK_CONVERT      0x80ULL /* IBITS lock convert support */
+#define OBD_CONNECT2_ARCHIVE_ID_ARRAY  0x100ULL /* store HSM archive_id in array */
 
 /* XXX README XXX:
  * Please DO NOT add flag values here before first ensuring that this same
index 2ff79e6..85dec3e 100644 (file)
@@ -808,6 +808,7 @@ static const char *obd_connect_names[] = {
        "flr",          /* 0x20 */
        "wbc",          /* 0x40 */
        "lock_convert",  /* 0x80 */
+       "archive_id_array",     /* 0x100 */
        NULL
 };
 
index 3aa9b98..7f038ba 100644 (file)
@@ -1332,6 +1332,8 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT2_WBC_INTENTS);
        LASSERTF(OBD_CONNECT2_LOCK_CONVERT == 0x80ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_LOCK_CONVERT);
+       LASSERTF(OBD_CONNECT2_ARCHIVE_ID_ARRAY == 0x100ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_ARCHIVE_ID_ARRAY);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)OBD_CKSUM_CRC32);
        LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
index ab8be2a..c943663 100644 (file)
@@ -603,6 +603,7 @@ check_obd_connect_data(void)
        CHECK_DEFINE_64X(OBD_CONNECT2_FLR);
        CHECK_DEFINE_64X(OBD_CONNECT2_WBC_INTENTS);
        CHECK_DEFINE_64X(OBD_CONNECT2_LOCK_CONVERT);
+       CHECK_DEFINE_64X(OBD_CONNECT2_ARCHIVE_ID_ARRAY);
 
        CHECK_VALUE_X(OBD_CKSUM_CRC32);
        CHECK_VALUE_X(OBD_CKSUM_ADLER);
index cb64cd4..3b502ae 100644 (file)
@@ -1353,6 +1353,8 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT2_WBC_INTENTS);
        LASSERTF(OBD_CONNECT2_LOCK_CONVERT == 0x80ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_LOCK_CONVERT);
+       LASSERTF(OBD_CONNECT2_ARCHIVE_ID_ARRAY == 0x100ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_ARCHIVE_ID_ARRAY);
        LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
                (unsigned)OBD_CKSUM_CRC32);
        LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",