Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-9128

remove OBD_OCD_VERSION-ed out code

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      There's a fair amount of OBD_OCD_VERSION-ed out code in lustre/utils/ and elsewhere which can be removed or made unconditional:

      x:lustre-release# git grep 'OBD_OCD_VERSION(2, [0-9],'
      lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0)
      lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE >= OBD_OCD_VERSION(2, 6, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE >= OBD_OCD_VERSION(2, 6, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE >= OBD_OCD_VERSION(2, 6, 53, 0)
      lustre/utils/lfs.c:#endif /* LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0) */
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD _VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE >= OBD_OCD_VERSION(2, 6, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE >= OBD_OCD_VERSION(2, 6, 53, 0)
      lustre/utils/lfs.c:#endif /* LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0) */
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/lfs.c:#if LUSTRE_VERSION_CODE >= OBD_OCD_VERSION(2, 6, 53, 0)
      lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 53, 0)
      lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0)
      

      Attachments

        Issue Links

          Activity

            [LU-9128] remove OBD_OCD_VERSION-ed out code
            simmonsja James A Simmons added a comment - - edited

            Bring this back since upstream its considered bad to do ifdef with OBD_OCD_VERSION. The better solution would be to use BUILD_BIUG_ON. Also we need to re-examine all the cases if this Lustre version ends up becoming 3.0

            simmonsja James A Simmons added a comment - - edited Bring this back since upstream its considered bad to do ifdef with OBD_OCD_VERSION. The better solution would be to use BUILD_BIUG_ON. Also we need to re-examine all the cases if this Lustre version ends up becoming 3.0

            The 2.13.53 conditionals have been removed in patch https://review.whamcloud.com/38106 "LU-8454 Remove struct mgs_send_param and its users" and the ones for the older versions are removed in patch https://review.whamcloud.com/38109 "LU-6179 llite: remove LOCKAHEAD_OLD compatibility" .

            adilger Andreas Dilger added a comment - The 2.13.53 conditionals have been removed in patch https://review.whamcloud.com/38106 " LU-8454 Remove struct mgs_send_param and its users " and the ones for the older versions are removed in patch https://review.whamcloud.com/38109 " LU-6179 llite: remove LOCKAHEAD_OLD compatibility " .

            Update: As of November 1, 2019, here are all the conditional code based on Lustre version up to 2.14.50:

            lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0)

            1726 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0)
            1727                 struct ofd_thread_info  *info = ofd_info(tsi->tsi_env);
            1728                 struct lu_fid           *fid = &info->fti_fid;
            1729 
            1730                 /* For compatible purpose, it needs to convert back to
            1731                  * OST ID before put it on wire. */
            1732                 *fid = rep_oa->o_oi.oi_fid;
            1733                 fid_to_ostid(fid, &rep_oa->o_oi);
            1734 #endif
            

            lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0)

             164 #if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0)
             165         static bool printed;
             166         if (!printed) {
             167                 fprintf(stderr,
             168                         "%s deprecated, use llapi_get_version_string()\n",
             169                         __func__);
             170                 printed = true;
             171         }
             172 #endif
            

            lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0)

            1427 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0)
            1428                 mode = data->ioc_type != 0 ? data->ioc_type : S_IRWXUGO;
            1429 #else
            1430                 mode = data->ioc_type;
            1431 #endif
            

            lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0)

            5076 int llapi_mv(char *path, struct find_param *param)
            5077 {
            5078 #if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0)
            5079         static bool printed;
            5080 
            5081         if (!printed) {
            5082                 llapi_error(LLAPI_MSG_ERROR, -ESTALE,
            5083                             "llapi_mv() is deprecated, use llapi_migrate_mdt()\n");
            5084                 printed = true;
            5085         }
            5086 #endif
            5087         return llapi_migrate_mdt(path, param);
            5088 }
            

            lustre/utils/mount_lustre.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0)

              61 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0)
              62 /*
              63  * LU-1783
              64  * We only #include a kernel level include file here because
              65  * important MS_ flag #defines are missing from the SLES version
              66  * of sys/mount.h
              67  * In the future if SLES updates sys/mount.h to have a more complete
              68  * set of flag #defines we should stop including linux/fs.h
              69  */
              70 #if !defined(MS_RDONLY)
              71 #include <linux/fs.h>
              72 #endif
              73 #endif
            

            lustre/llite/llite_lib.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 12, 50, 0)

             464 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 12, 50, 0)
             465         data->ocd_connect_flags |= OBD_CONNECT_LOCKAHEAD_OLD;
             466 #endif
            

            lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

             414 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
             415 static int ll_send_mgc_param(struct obd_export *mgc, char *string)
             416 {
             417         struct mgs_send_param *msp;
             418         int rc = 0;
             419 
             420         OBD_ALLOC_PTR(msp);
             421         if (!msp)
             422                 return -ENOMEM;
             423 
             424         strlcpy(msp->mgs_param, string, sizeof(msp->mgs_param));
             425         rc = obd_set_info_async(NULL, mgc, sizeof(KEY_SET_INFO), KEY_SET_INFO,
             426                                 sizeof(struct mgs_send_param), msp, NULL);
             427         if (rc)
             428                 CERROR("Failed to set parameter: %d\n", rc);
             429         OBD_FREE_PTR(msp);
             430 
             431         return rc;
             432 }
             433 #endif
            

            lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

             561 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
             562         struct lustre_sb_info *lsi = s2lsi(inode->i_sb);
             563         struct obd_device *mgc = lsi->lsi_mgc;
             564 #endif
            

            lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

             626 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
             627         /*
             628          * 2.9 server has stored filesystem default stripe in ROOT xattr,
             629          * and it's stored into system config for backward compatibility.
             630          *
             631          * In the following we use the fact that LOV_USER_MAGIC_V1 and
             632          * LOV_USER_MAGIC_V3 have the same initial fields so we do not
             633          * need the make the distiction between the 2 versions
             634          */
             635         if (set_default && mgc->u.cli.cl_mgc_mgsexp &&
             636             (lump == NULL ||
             637              le32_to_cpu(lump->lmm_magic) == LOV_USER_MAGIC_V1 ||
             638              le32_to_cpu(lump->lmm_magic) == LOV_USER_MAGIC_V3)) {
             639                 char *param = NULL;
             640                 char *buf;
             641 
             642                 OBD_ALLOC(param, MGS_PARAM_MAXLEN);
             643                 if (param == NULL)
             644                         GOTO(end, rc = -ENOMEM);
             645 
             646                 buf = param;
             647                 /* Get fsname and assume devname to be -MDT0000. */
             648                 snprintf(buf, MGS_PARAM_MAXLEN, "%s-MDT0000.lov",
             649                          sbi->ll_fsname);
             650                 buf += strlen(buf);
             651 
             652                 /* Set root stripesize */
             653                 snprintf(buf, MGS_PARAM_MAXLEN, ".stripesize=%u",
             654                          lump ? le32_to_cpu(lump->lmm_stripe_size) : 0);
             655                 rc = ll_send_mgc_param(mgc->u.cli.cl_mgc_mgsexp, param);
             656                 if (rc)
             657                         GOTO(end, rc);
             658 
             659                 /* Set root stripecount */
             660                 snprintf(buf, MGS_PARAM_MAXLEN, ".stripecount=%hd",
             661                          lump ? le16_to_cpu(lump->lmm_stripe_count) : 0);
             662                 rc = ll_send_mgc_param(mgc->u.cli.cl_mgc_mgsexp, param);
             663                 if (rc)
             664                         GOTO(end, rc);
             665 
             666                 /* Set root stripeoffset */
             667                 snprintf(buf, MGS_PARAM_MAXLEN, ".stripeoffset=%hd",
             668                          lump ? le16_to_cpu(lump->lmm_stripe_offset) :
             669                                 (typeof(lump->lmm_stripe_offset))(-1));
             670                 rc = ll_send_mgc_param(mgc->u.cli.cl_mgc_mgsexp, param);
             671 
             672 end:
             673                 if (param != NULL)
             674                         OBD_FREE(param, MGS_PARAM_MAXLEN);
             675         }
             676 #endif
            

            lustre/mgc/mgc_request.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            1067 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            1068 /* Send parameter to MGS*/
            1069 static int mgc_set_mgs_param(struct obd_export *exp,
            1070                              struct mgs_send_param *msp)
            1071 {
            1072         struct ptlrpc_request *req;
            1073         struct mgs_send_param *req_msp, *rep_msp;
            1074         int rc;
            1075         ENTRY;
            1076 
            1077         req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp),
            1078                                         &RQF_MGS_SET_INFO, LUSTRE_MGS_VERSION,
            1079                                         MGS_SET_INFO);
            1080         if (!req)
            1081                 RETURN(-ENOMEM);
            1082 
            1083         req_msp = req_capsule_client_get(&req->rq_pill, &RMF_MGS_SEND_PARAM);
            1084         if (!req_msp) {
            1085                 ptlrpc_req_finished(req);
            1086                 RETURN(-ENOMEM);
            1087         }
            1088 
            1089         memcpy(req_msp, msp, sizeof(*req_msp));
            1090         ptlrpc_request_set_replen(req);
            1091 
            1092         /* Limit how long we will wait for the enqueue to complete */
            1093         req->rq_delay_limit = MGC_SEND_PARAM_LIMIT;
            1094         rc = ptlrpc_queue_wait(req);
            1095         if (!rc) {
            1096                 rep_msp = req_capsule_server_get(&req->rq_pill, &RMF_MGS_SEND_PARAM);
            1097                 memcpy(msp, rep_msp, sizeof(*rep_msp));
            1098         }
            1099 
            1100         ptlrpc_req_finished(req);
            1101 
            1102         RETURN(rc);
            1103 }
            1104 #endif
            

            lustre/mgc/mgc_request.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            1280 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            1281         if (KEY_IS(KEY_SET_INFO)) {
            1282                 struct mgs_send_param *msp;
            1283 
            1284                 msp = (struct mgs_send_param *)val;
            1285                 rc =  mgc_set_mgs_param(exp, msp);
            1286                 RETURN(rc);
            1287         }
            1288 #endif
            

            lustre/mgs/mgs_handler.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

              99 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
             100 static int mgs_set_info(struct tgt_session_info *tsi)
             101 {
             102         struct mgs_thread_info  *mgi;
             103         struct mgs_send_param   *msp, *rep_msp;
             104         struct lustre_cfg       *lcfg;
             105         size_t                   param_len;
             106         char                    *s;
             107         int                      rc;
             108 
             109         ENTRY;
             110 
             111         mgi = mgs_env_info(tsi->tsi_env);
             112         if (IS_ERR(mgi))
             113                 RETURN(err_serious(PTR_ERR(mgi)));
             114 
             115         msp = req_capsule_client_get(tsi->tsi_pill, &RMF_MGS_SEND_PARAM);
             116         if (msp == NULL)
             117                 RETURN(err_serious(-EFAULT));
             118 
             119         param_len = strnlen(msp->mgs_param, sizeof(msp->mgs_param));
             120         if (param_len == 0 || param_len == sizeof(msp->mgs_param))
             121                 RETURN(-EINVAL);
             122 
             123         /* We only allow '*.lov.stripe{size,count,offset}=*' from an RPC. */
             124         s = strchr(msp->mgs_param, '.');
             125         if (s == NULL)
             126                 RETURN(-EINVAL);
             127 
             128         if (!str_starts_with(s + 1, "lov.stripesize=") &&
             129             !str_starts_with(s + 1, "lov.stripecount=") &&
             130             !str_starts_with(s + 1, "lov.stripeoffset="))
             131                 RETURN(-EINVAL);
             132 
             133         /* Construct lustre_cfg structure to pass to function mgs_set_param */
             134         lustre_cfg_bufs_reset(&mgi->mgi_bufs, NULL);
             135         lustre_cfg_bufs_set_string(&mgi->mgi_bufs, 1, msp->mgs_param);
             136         OBD_ALLOC(lcfg, lustre_cfg_len(mgi->mgi_bufs.lcfg_bufcount,
             137                                        mgi->mgi_bufs.lcfg_buflen));
             138         if (!lcfg)
             139                 RETURN(-ENOMEM);
             140         lustre_cfg_init(lcfg, LCFG_PARAM, &mgi->mgi_bufs);
             141 
             142         rc = mgs_set_param(tsi->tsi_env, exp2mgs_dev(tsi->tsi_exp), lcfg);
             143         if (rc) {
             144                 LCONSOLE_WARN("%s: Unable to set parameter %s: %d\n",
             145                               tgt_name(tsi->tsi_tgt), msp->mgs_param, rc);
             146                 GOTO(out_cfg, rc);
             147         }
             148 
             149         /* send back the whole msp in the reply */
             150         rep_msp = req_capsule_server_get(tsi->tsi_pill, &RMF_MGS_SEND_PARAM);
             151         *rep_msp = *msp;
             152         EXIT;
             153 out_cfg:
             154         OBD_FREE(lcfg, lustre_cfg_len(lcfg->lcfg_bufcount, lcfg->lcfg_buflens));
             155         return rc;
             156 }
             157 #endif
            

            lustre/mgs/mgs_handler.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            1205 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            1206 TGT_MGS_HDL(HAS_REPLY | IS_MUTABLE,     MGS_SET_INFO,    mgs_set_info),
            1207 #endif
            1208 TGT_MGS_HDL(HAS_REPLY | IS_MUTABLE,     MGS_TARGET_REG,  mgs_target_reg),
            

            lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

              74 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
              75 static const struct req_msg_field *mgs_set_info[] = {
              76         &RMF_PTLRPC_BODY,
              77         &RMF_MGS_SEND_PARAM
              78 };
              79 #endif
            

            lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

             760 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
             761         &RQF_MGS_SET_INFO,
             762 #endif
            

            lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

             905 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
             906 struct req_msg_field RMF_MGS_SEND_PARAM =
             907         DEFINE_MSGF("mgs_send_param", 0,
             908                     sizeof(struct mgs_send_param),
             909                     NULL, NULL);
             910 EXPORT_SYMBOL(RMF_MGS_SEND_PARAM);
             911 #endif
            

            lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            1350 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            1351 struct req_format RQF_MGS_SET_INFO =
            1352         DEFINE_REQ_FMT0("MGS_SET_INFO", mgs_set_info,
            1353                          mgs_set_info);
            1354 EXPORT_SYMBOL(RQF_MGS_SET_INFO);
            1355 #endif
            

            lustre/utils/wirecheck.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            1613 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            1614 static void
            1615 check_mgs_send_param(void)
            1616 {
            1617         BLANK_LINE();
            1618         CHECK_STRUCT(mgs_send_param);
            1619         CHECK_CVALUE(MGS_PARAM_MAXLEN);
            1620         CHECK_MEMBER(mgs_send_param, mgs_param[MGS_PARAM_MAXLEN]);
            1621 }
            1622 #endif
            

            lustre/utils/wirecheck.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            2896 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            2897         check_mgs_send_param();
            2898 #endif
            

            lustre/include/uapi/linux/lustre/lustre_idl.h:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)

            2560 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0)
            2561 #define MGS_PARAM_MAXLEN 1024
            2562 #define KEY_SET_INFO "set_info"
            2563 
            2564 struct mgs_send_param {
            2565         char             mgs_param[MGS_PARAM_MAXLEN];
            2566 };
            2567 #endif
            
            jamesanunez James Nunez (Inactive) added a comment - Update: As of November 1, 2019, here are all the conditional code based on Lustre version up to 2.14.50: lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0) 1726 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0) 1727 struct ofd_thread_info *info = ofd_info(tsi->tsi_env); 1728 struct lu_fid *fid = &info->fti_fid; 1729 1730 /* For compatible purpose, it needs to convert back to 1731 * OST ID before put it on wire. */ 1732 *fid = rep_oa->o_oi.oi_fid; 1733 fid_to_ostid(fid, &rep_oa->o_oi); 1734 #endif lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0) 164 # if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0) 165 static bool printed; 166 if (!printed) { 167 fprintf(stderr, 168 "%s deprecated, use llapi_get_version_string()\n" , 169 __func__); 170 printed = true ; 171 } 172 #endif lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0) 1427 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0) 1428 mode = data->ioc_type != 0 ? data->ioc_type : S_IRWXUGO; 1429 # else 1430 mode = data->ioc_type; 1431 #endif lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0) 5076 int llapi_mv( char *path, struct find_param *param) 5077 { 5078 # if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0) 5079 static bool printed; 5080 5081 if (!printed) { 5082 llapi_error(LLAPI_MSG_ERROR, -ESTALE, 5083 "llapi_mv() is deprecated, use llapi_migrate_mdt()\n" ); 5084 printed = true ; 5085 } 5086 #endif 5087 return llapi_migrate_mdt(path, param); 5088 } lustre/utils/mount_lustre.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0) 61 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0) 62 /* 63 * LU-1783 64 * We only #include a kernel level include file here because 65 * important MS_ flag #defines are missing from the SLES version 66 * of sys/mount.h 67 * In the future if SLES updates sys/mount.h to have a more complete 68 * set of flag #defines we should stop including linux/fs.h 69 */ 70 # if !defined(MS_RDONLY) 71 #include <linux/fs.h> 72 #endif 73 #endif lustre/llite/llite_lib.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 12, 50, 0) 464 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 12, 50, 0) 465 data->ocd_connect_flags |= OBD_CONNECT_LOCKAHEAD_OLD; 466 #endif lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 414 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 415 static int ll_send_mgc_param(struct obd_export *mgc, char *string) 416 { 417 struct mgs_send_param *msp; 418 int rc = 0; 419 420 OBD_ALLOC_PTR(msp); 421 if (!msp) 422 return -ENOMEM; 423 424 strlcpy(msp->mgs_param, string, sizeof(msp->mgs_param)); 425 rc = obd_set_info_async(NULL, mgc, sizeof(KEY_SET_INFO), KEY_SET_INFO, 426 sizeof(struct mgs_send_param), msp, NULL); 427 if (rc) 428 CERROR( "Failed to set parameter: %d\n" , rc); 429 OBD_FREE_PTR(msp); 430 431 return rc; 432 } 433 #endif lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 561 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 562 struct lustre_sb_info *lsi = s2lsi(inode->i_sb); 563 struct obd_device *mgc = lsi->lsi_mgc; 564 #endif lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 626 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 627 /* 628 * 2.9 server has stored filesystem default stripe in ROOT xattr, 629 * and it's stored into system config for backward compatibility. 630 * 631 * In the following we use the fact that LOV_USER_MAGIC_V1 and 632 * LOV_USER_MAGIC_V3 have the same initial fields so we do not 633 * need the make the distiction between the 2 versions 634 */ 635 if (set_default && mgc->u.cli.cl_mgc_mgsexp && 636 (lump == NULL || 637 le32_to_cpu(lump->lmm_magic) == LOV_USER_MAGIC_V1 || 638 le32_to_cpu(lump->lmm_magic) == LOV_USER_MAGIC_V3)) { 639 char *param = NULL; 640 char *buf; 641 642 OBD_ALLOC(param, MGS_PARAM_MAXLEN); 643 if (param == NULL) 644 GOTO(end, rc = -ENOMEM); 645 646 buf = param; 647 /* Get fsname and assume devname to be -MDT0000. */ 648 snprintf(buf, MGS_PARAM_MAXLEN, "%s-MDT0000.lov" , 649 sbi->ll_fsname); 650 buf += strlen(buf); 651 652 /* Set root stripesize */ 653 snprintf(buf, MGS_PARAM_MAXLEN, ".stripesize=%u" , 654 lump ? le32_to_cpu(lump->lmm_stripe_size) : 0); 655 rc = ll_send_mgc_param(mgc->u.cli.cl_mgc_mgsexp, param); 656 if (rc) 657 GOTO(end, rc); 658 659 /* Set root stripecount */ 660 snprintf(buf, MGS_PARAM_MAXLEN, ".stripecount=%hd" , 661 lump ? le16_to_cpu(lump->lmm_stripe_count) : 0); 662 rc = ll_send_mgc_param(mgc->u.cli.cl_mgc_mgsexp, param); 663 if (rc) 664 GOTO(end, rc); 665 666 /* Set root stripeoffset */ 667 snprintf(buf, MGS_PARAM_MAXLEN, ".stripeoffset=%hd" , 668 lump ? le16_to_cpu(lump->lmm_stripe_offset) : 669 (typeof(lump->lmm_stripe_offset))(-1)); 670 rc = ll_send_mgc_param(mgc->u.cli.cl_mgc_mgsexp, param); 671 672 end: 673 if (param != NULL) 674 OBD_FREE(param, MGS_PARAM_MAXLEN); 675 } 676 #endif lustre/mgc/mgc_request.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1067 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1068 /* Send parameter to MGS*/ 1069 static int mgc_set_mgs_param(struct obd_export *exp, 1070 struct mgs_send_param *msp) 1071 { 1072 struct ptlrpc_request *req; 1073 struct mgs_send_param *req_msp, *rep_msp; 1074 int rc; 1075 ENTRY; 1076 1077 req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), 1078 &RQF_MGS_SET_INFO, LUSTRE_MGS_VERSION, 1079 MGS_SET_INFO); 1080 if (!req) 1081 RETURN(-ENOMEM); 1082 1083 req_msp = req_capsule_client_get(&req->rq_pill, &RMF_MGS_SEND_PARAM); 1084 if (!req_msp) { 1085 ptlrpc_req_finished(req); 1086 RETURN(-ENOMEM); 1087 } 1088 1089 memcpy(req_msp, msp, sizeof(*req_msp)); 1090 ptlrpc_request_set_replen(req); 1091 1092 /* Limit how long we will wait for the enqueue to complete */ 1093 req->rq_delay_limit = MGC_SEND_PARAM_LIMIT; 1094 rc = ptlrpc_queue_wait(req); 1095 if (!rc) { 1096 rep_msp = req_capsule_server_get(&req->rq_pill, &RMF_MGS_SEND_PARAM); 1097 memcpy(msp, rep_msp, sizeof(*rep_msp)); 1098 } 1099 1100 ptlrpc_req_finished(req); 1101 1102 RETURN(rc); 1103 } 1104 #endif lustre/mgc/mgc_request.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1280 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1281 if (KEY_IS(KEY_SET_INFO)) { 1282 struct mgs_send_param *msp; 1283 1284 msp = (struct mgs_send_param *)val; 1285 rc = mgc_set_mgs_param(exp, msp); 1286 RETURN(rc); 1287 } 1288 #endif lustre/mgs/mgs_handler.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 99 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 100 static int mgs_set_info(struct tgt_session_info *tsi) 101 { 102 struct mgs_thread_info *mgi; 103 struct mgs_send_param *msp, *rep_msp; 104 struct lustre_cfg *lcfg; 105 size_t param_len; 106 char *s; 107 int rc; 108 109 ENTRY; 110 111 mgi = mgs_env_info(tsi->tsi_env); 112 if (IS_ERR(mgi)) 113 RETURN(err_serious(PTR_ERR(mgi))); 114 115 msp = req_capsule_client_get(tsi->tsi_pill, &RMF_MGS_SEND_PARAM); 116 if (msp == NULL) 117 RETURN(err_serious(-EFAULT)); 118 119 param_len = strnlen(msp->mgs_param, sizeof(msp->mgs_param)); 120 if (param_len == 0 || param_len == sizeof(msp->mgs_param)) 121 RETURN(-EINVAL); 122 123 /* We only allow '*.lov.stripe{size,count,offset}=*' from an RPC. */ 124 s = strchr(msp->mgs_param, '.' ); 125 if (s == NULL) 126 RETURN(-EINVAL); 127 128 if (!str_starts_with(s + 1, "lov.stripesize=" ) && 129 !str_starts_with(s + 1, "lov.stripecount=" ) && 130 !str_starts_with(s + 1, "lov.stripeoffset=" )) 131 RETURN(-EINVAL); 132 133 /* Construct lustre_cfg structure to pass to function mgs_set_param */ 134 lustre_cfg_bufs_reset(&mgi->mgi_bufs, NULL); 135 lustre_cfg_bufs_set_string(&mgi->mgi_bufs, 1, msp->mgs_param); 136 OBD_ALLOC(lcfg, lustre_cfg_len(mgi->mgi_bufs.lcfg_bufcount, 137 mgi->mgi_bufs.lcfg_buflen)); 138 if (!lcfg) 139 RETURN(-ENOMEM); 140 lustre_cfg_init(lcfg, LCFG_PARAM, &mgi->mgi_bufs); 141 142 rc = mgs_set_param(tsi->tsi_env, exp2mgs_dev(tsi->tsi_exp), lcfg); 143 if (rc) { 144 LCONSOLE_WARN( "%s: Unable to set parameter %s: %d\n" , 145 tgt_name(tsi->tsi_tgt), msp->mgs_param, rc); 146 GOTO(out_cfg, rc); 147 } 148 149 /* send back the whole msp in the reply */ 150 rep_msp = req_capsule_server_get(tsi->tsi_pill, &RMF_MGS_SEND_PARAM); 151 *rep_msp = *msp; 152 EXIT; 153 out_cfg: 154 OBD_FREE(lcfg, lustre_cfg_len(lcfg->lcfg_bufcount, lcfg->lcfg_buflens)); 155 return rc; 156 } 157 #endif lustre/mgs/mgs_handler.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1205 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1206 TGT_MGS_HDL(HAS_REPLY | IS_MUTABLE, MGS_SET_INFO, mgs_set_info), 1207 #endif 1208 TGT_MGS_HDL(HAS_REPLY | IS_MUTABLE, MGS_TARGET_REG, mgs_target_reg), lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 74 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 75 static const struct req_msg_field *mgs_set_info[] = { 76 &RMF_PTLRPC_BODY, 77 &RMF_MGS_SEND_PARAM 78 }; 79 #endif lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 760 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 761 &RQF_MGS_SET_INFO, 762 #endif lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 905 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 906 struct req_msg_field RMF_MGS_SEND_PARAM = 907 DEFINE_MSGF( "mgs_send_param" , 0, 908 sizeof(struct mgs_send_param), 909 NULL, NULL); 910 EXPORT_SYMBOL(RMF_MGS_SEND_PARAM); 911 #endif lustre/ptlrpc/layout.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1350 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1351 struct req_format RQF_MGS_SET_INFO = 1352 DEFINE_REQ_FMT0( "MGS_SET_INFO" , mgs_set_info, 1353 mgs_set_info); 1354 EXPORT_SYMBOL(RQF_MGS_SET_INFO); 1355 #endif lustre/utils/wirecheck.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1613 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 1614 static void 1615 check_mgs_send_param(void) 1616 { 1617 BLANK_LINE(); 1618 CHECK_STRUCT(mgs_send_param); 1619 CHECK_CVALUE(MGS_PARAM_MAXLEN); 1620 CHECK_MEMBER(mgs_send_param, mgs_param[MGS_PARAM_MAXLEN]); 1621 } 1622 #endif lustre/utils/wirecheck.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 2896 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 2897 check_mgs_send_param(); 2898 #endif lustre/include/uapi/linux/lustre/lustre_idl.h:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 2560 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 13, 53, 0) 2561 #define MGS_PARAM_MAXLEN 1024 2562 #define KEY_SET_INFO "set_info" 2563 2564 struct mgs_send_param { 2565 char mgs_param[MGS_PARAM_MAXLEN]; 2566 }; 2567 #endif

            As of today, Lustre 2.10.58+ still has the following version checks for version 2.x with x <=11:

            lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0)

            1779 out_nolock:
            1780         if (rc == 0) {
            1781 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0)
            1782                 struct ofd_thread_info  *info = ofd_info(tsi->tsi_env);
            1783                 struct lu_fid           *fid = &info->fti_fid;
            1784 
            1785                 /* For compatible purpose, it needs to convert back to
            1786                  * OST ID before put it on wire. */
            1787                 *fid = rep_oa->o_oi.oi_fid;
            1788                 fid_to_ostid(fid, &rep_oa->o_oi);
            1789 #endif
            1790                 rep_oa->o_valid |= OBD_MD_FLID | OBD_MD_FLGROUP;
            1791         }
            

            lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0)

             160 int llapi_get_version(char *buffer, int buffer_size, char **version)
             161 {
             162         int rc;
             163 #if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0)
             164         static bool printed;
             165         if (!printed) {
             166                 fprintf(stderr,
             167                         "%s deprecated, use llapi_get_version_string()\n",
             168                         __func__);
             169                 printed = true;
             170         }
             171 #endif
             172 
            

            lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0)

            1260 
            1261 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0)
            1262                 mode = data->ioc_type != 0 ? data->ioc_type : S_IRWXUGO;
            1263 #else
            1264                 mode = data->ioc_type;
            1265 #endif
            1266                 rc = ll_dir_setdirstripe(dentry, lum, lumlen, filename, mode);
            

            lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0)

            4395 int llapi_mv(char *path, struct find_param *param)
            4396 {
            4397 #if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0)
            4398         static bool printed;
            4399 
            4400         if (!printed) {
            4401                 llapi_error(LLAPI_MSG_ERROR, -ESTALE,
            4402                             "llapi_mv() is deprecated, use llapi_migrate_mdt()\n");
            4403                 printed = true;
            4404         }
            4405 #endif
            4406         return llapi_migrate_mdt(path, param);
            4407 }
            

            lustre/utils/mount_lustre.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0)

              61 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0)
              62 /*
              63  * LU-1783
              64  * We only #include a kernel level include file here because
              65  * important MS_ flag #defines are missing from the SLES version
              66  * of sys/mount.h
              67  * In the future if SLES updates sys/mount.h to have a more complete
              68  * set of flag #defines we should stop including linux/fs.h
              69  */
              70 #if !defined(MS_RDONLY)
              71 #include <linux/fs.h>
              72 #endif
              73 #endif
            

            lustre/include/uapi/linux/lustre/lustre_idl.h:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 11, 56, 0)

            2106 #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 11, 56, 0)
            2107 /* Since lustre 2.8, this flag will not be needed, instead this DEAD
            2108  * and orphan flags will be stored in LMA (see LMAI_ORPHAN)
            2109  * Keep this flag just for LFSCK, because it still might meet such
            2110  * flag when it checks the old FS */
            2111 #define LMV_HASH_FLAG_DEAD      0x40000000
            2112 #endif
            
            jamesanunez James Nunez (Inactive) added a comment - As of today, Lustre 2.10.58+ still has the following version checks for version 2.x with x <=11: lustre/ofd/ofd_dev.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0) 1779 out_nolock: 1780 if (rc == 0) { 1781 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 8, 53, 0) 1782 struct ofd_thread_info *info = ofd_info(tsi->tsi_env); 1783 struct lu_fid *fid = &info->fti_fid; 1784 1785 /* For compatible purpose, it needs to convert back to 1786 * OST ID before put it on wire. */ 1787 *fid = rep_oa->o_oi.oi_fid; 1788 fid_to_ostid(fid, &rep_oa->o_oi); 1789 #endif 1790 rep_oa->o_valid |= OBD_MD_FLID | OBD_MD_FLGROUP; 1791 } lustre/utils/liblustreapi_util.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0) 160 int llapi_get_version( char *buffer, int buffer_size, char **version) 161 { 162 int rc; 163 # if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 8, 53, 0) 164 static bool printed; 165 if (!printed) { 166 fprintf(stderr, 167 "%s deprecated, use llapi_get_version_string()\n" , 168 __func__); 169 printed = true ; 170 } 171 #endif 172 lustre/llite/dir.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0) 1260 1261 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 50, 0) 1262 mode = data->ioc_type != 0 ? data->ioc_type : S_IRWXUGO; 1263 # else 1264 mode = data->ioc_type; 1265 #endif 1266 rc = ll_dir_setdirstripe(dentry, lum, lumlen, filename, mode); lustre/utils/liblustreapi.c:#if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0) 4395 int llapi_mv( char *path, struct find_param *param) 4396 { 4397 # if LUSTRE_VERSION_CODE > OBD_OCD_VERSION(2, 9, 59, 0) 4398 static bool printed; 4399 4400 if (!printed) { 4401 llapi_error(LLAPI_MSG_ERROR, -ESTALE, 4402 "llapi_mv() is deprecated, use llapi_migrate_mdt()\n" ); 4403 printed = true ; 4404 } 4405 #endif 4406 return llapi_migrate_mdt(path, param); 4407 } lustre/utils/mount_lustre.c:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0) 61 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 10, 53, 0) 62 /* 63 * LU-1783 64 * We only #include a kernel level include file here because 65 * important MS_ flag #defines are missing from the SLES version 66 * of sys/mount.h 67 * In the future if SLES updates sys/mount.h to have a more complete 68 * set of flag #defines we should stop including linux/fs.h 69 */ 70 # if !defined(MS_RDONLY) 71 #include <linux/fs.h> 72 #endif 73 #endif lustre/include/uapi/linux/lustre/lustre_idl.h:#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 11, 56, 0) 2106 # if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 11, 56, 0) 2107 /* Since lustre 2.8, this flag will not be needed, instead this DEAD 2108 * and orphan flags will be stored in LMA (see LMAI_ORPHAN) 2109 * Keep this flag just for LFSCK, because it still might meet such 2110 * flag when it checks the old FS */ 2111 #define LMV_HASH_FLAG_DEAD 0x40000000 2112 #endif

            I'll add this to my queue.

            sguminsx Steve Guminski (Inactive) added a comment - I'll add this to my queue.

            Hi Steve,

            Can you please have a look at this one?

            Thanks.
            Joe

            jgmitter Joseph Gmitter (Inactive) added a comment - Hi Steve, Can you please have a look at this one? Thanks. Joe

            People

              simmonsja James A Simmons
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: