Whamcloud - gitweb
LU-11025 uapi: introduce OBD_CONNECT2_CRUSH 74/36774/7
authorLai Siyao <lai.siyao@whamcloud.com>
Sat, 7 Sep 2019 12:22:29 +0000 (20:22 +0800)
committerOleg Drokin <green@whamcloud.com>
Sat, 14 Dec 2019 05:57:53 +0000 (05:57 +0000)
Introduce a new connect flag OBD_CONNECT2_CRUSH to indicate whether
client or server supports new directory hash type 'crush'.

Test-parameters: trivial

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I073ab65eddf502c016f30ad535740f3d9a77459f
Reviewed-on: https://review.whamcloud.com/36774
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Olaf Faaland-LLNL <faaland1@llnl.gov>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@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 db941b2..5b02ad3 100644 (file)
@@ -838,6 +838,7 @@ struct ptlrpc_body_v2 {
 #define OBD_CONNECT2_SELINUX_POLICY    0x400ULL /* has client SELinux policy */
 #define OBD_CONNECT2_LSOM              0x800ULL /* LSOM support */
 #define OBD_CONNECT2_PCC               0x1000ULL /* Persistent Client Cache */
 #define OBD_CONNECT2_SELINUX_POLICY    0x400ULL /* has client SELinux policy */
 #define OBD_CONNECT2_LSOM              0x800ULL /* LSOM support */
 #define OBD_CONNECT2_PCC               0x1000ULL /* Persistent Client Cache */
+#define OBD_CONNECT2_CRUSH             0x2000ULL /* crush hash striped directory */
 #define OBD_CONNECT2_ASYNC_DISCARD     0x4000ULL /* support async DoM data discard */
 #define OBD_CONNECT2_ENCRYPT           0x8000ULL /* client-to-disk encrypt */
 /* XXX README XXX:
 #define OBD_CONNECT2_ASYNC_DISCARD     0x4000ULL /* support async DoM data discard */
 #define OBD_CONNECT2_ENCRYPT           0x8000ULL /* client-to-disk encrypt */
 /* XXX README XXX:
index 9d6c8c2..d9154dc 100644 (file)
@@ -784,7 +784,7 @@ static const char *obd_connect_names[] = {
        "selinux_policy",       /* 0x400 */
        "lsom",                 /* 0x800 */
        "pcc",                  /* 0x1000 */
        "selinux_policy",       /* 0x400 */
        "lsom",                 /* 0x800 */
        "pcc",                  /* 0x1000 */
-       "plain_layout",         /* 0x2000 */
+       "crush",                /* 0x2000 */
        "async_discard",        /* 0x4000 */
        "client_encryption",    /* 0x8000 */
        NULL
        "async_discard",        /* 0x4000 */
        "client_encryption",    /* 0x8000 */
        NULL
index aa40cf6..b6f561d 100644 (file)
@@ -1351,6 +1351,8 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT2_LSOM);
        LASSERTF(OBD_CONNECT2_PCC == 0x1000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_PCC);
                 OBD_CONNECT2_LSOM);
        LASSERTF(OBD_CONNECT2_PCC == 0x1000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_PCC);
+       LASSERTF(OBD_CONNECT2_CRUSH == 0x2000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_CRUSH);
        LASSERTF(OBD_CONNECT2_ASYNC_DISCARD == 0x4000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_ASYNC_DISCARD);
        LASSERTF(OBD_CONNECT2_ENCRYPT == 0x8000ULL, "found 0x%.16llxULL\n",
        LASSERTF(OBD_CONNECT2_ASYNC_DISCARD == 0x4000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_ASYNC_DISCARD);
        LASSERTF(OBD_CONNECT2_ENCRYPT == 0x8000ULL, "found 0x%.16llxULL\n",
index 6696a5b..e252ecd 100644 (file)
@@ -612,6 +612,7 @@ check_obd_connect_data(void)
        CHECK_DEFINE_64X(OBD_CONNECT2_SELINUX_POLICY);
        CHECK_DEFINE_64X(OBD_CONNECT2_LSOM);
        CHECK_DEFINE_64X(OBD_CONNECT2_PCC);
        CHECK_DEFINE_64X(OBD_CONNECT2_SELINUX_POLICY);
        CHECK_DEFINE_64X(OBD_CONNECT2_LSOM);
        CHECK_DEFINE_64X(OBD_CONNECT2_PCC);
+       CHECK_DEFINE_64X(OBD_CONNECT2_CRUSH);
        CHECK_DEFINE_64X(OBD_CONNECT2_ASYNC_DISCARD);
        CHECK_DEFINE_64X(OBD_CONNECT2_ENCRYPT);
 
        CHECK_DEFINE_64X(OBD_CONNECT2_ASYNC_DISCARD);
        CHECK_DEFINE_64X(OBD_CONNECT2_ENCRYPT);
 
index 7f5967b..4940411 100644 (file)
@@ -1381,6 +1381,8 @@ void lustre_assert_wire_constants(void)
                 OBD_CONNECT2_LSOM);
        LASSERTF(OBD_CONNECT2_PCC == 0x1000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_PCC);
                 OBD_CONNECT2_LSOM);
        LASSERTF(OBD_CONNECT2_PCC == 0x1000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_PCC);
+       LASSERTF(OBD_CONNECT2_CRUSH == 0x2000ULL, "found 0x%.16llxULL\n",
+                OBD_CONNECT2_CRUSH);
        LASSERTF(OBD_CONNECT2_ASYNC_DISCARD == 0x4000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_ASYNC_DISCARD);
        LASSERTF(OBD_CONNECT2_ENCRYPT == 0x8000ULL, "found 0x%.16llxULL\n",
        LASSERTF(OBD_CONNECT2_ASYNC_DISCARD == 0x4000ULL, "found 0x%.16llxULL\n",
                 OBD_CONNECT2_ASYNC_DISCARD);
        LASSERTF(OBD_CONNECT2_ENCRYPT == 0x8000ULL, "found 0x%.16llxULL\n",