Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-3647 HSM _not only_ small fixes and to do list goes here
  3. LU-3882

mounting a Lustre FS when already running an HSM CT causes the new mount to register as a CT

Details

    • Technical task
    • Resolution: Fixed
    • Major
    • Lustre 2.5.0
    • Lustre 2.5.0
    • 10080

    Description

      Due to the global KUC lists, seeing IMP_EVENT_ACTIVE on any MDC import will cause any already registered CT archive masks to be registered with the MDT behind that import.

      mdc_import_event(..., ..., imp, IMP_EVENT_ACTIVE)
          mdc_kuc_reregister(imp)
              libcfs_kkuc_group_foreach(KUC_GRP_HSM, mdc_hsm_ct_reregister, imp)
                                               (void *)imp)
                  cfs_list_for_each_entry(reg, ... KUC_GRP_HSM, ...)
                      mdc_hsm_ct_reregister(reg->kr_reg = archives, imp)
                          mdc_ioc_hsm_ct_register(imp, archives)
                              /* Send MDS_HSM_CT_REGISTER. */
      

      Attachments

        Activity

          [LU-3882] mounting a Lustre FS when already running an HSM CT causes the new mount to register as a CT
          pjones Peter Jones made changes -
          Fix Version/s New: Lustre 2.5.0 [ 10295 ]
          Fix Version/s Original: Lustre 2.5.1 [ 10608 ]
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          pjones Peter Jones added a comment -

          Landed for 2.5.0

          pjones Peter Jones added a comment - Landed for 2.5.0
          jamesanunez James Nunez (Inactive) made changes -
          Fix Version/s New: Lustre 2.5.1 [ 10608 ]

          Thanks a lot John.

          Patch is at http://review.whamcloud.com/7612

          hdoreau Henri Doreau (Inactive) added a comment - Thanks a lot John. Patch is at http://review.whamcloud.com/7612
          jhammond John Hammond added a comment -

          I agree with Thomas' approach but think it can be refined somewhat. Here is what I suggest:

          1. In struct struct kkuc_reg change kr_data from __u32 to void *.
          2. Define struct kkuc_ct_data as follows to hold some magic, an obd_uuid, and the __u32 archive formerly placed in kr_data.
          3. In lmv_hsm_ct_register() allocate a kkuc_ct_data and initialize it with the UUID of the LMV obd and with the passed in archives.
          4. In libcfs_kkuc_group_rem() add a void **data parameter to receive the data on removal.
          5. In lmv_hsm_ct_unregister() recover the kkuc_ct_data and free it.
          6. Adjust mdc_hsm_ct_reregister() to use kkuc_ct_data and check its UUID against that of the MDC import.
          jhammond John Hammond added a comment - I agree with Thomas' approach but think it can be refined somewhat. Here is what I suggest: In struct struct kkuc_reg change kr_data from __u32 to void *. Define struct kkuc_ct_data as follows to hold some magic, an obd_uuid, and the __u32 archive formerly placed in kr_data. In lmv_hsm_ct_register() allocate a kkuc_ct_data and initialize it with the UUID of the LMV obd and with the passed in archives. In libcfs_kkuc_group_rem() add a void **data parameter to receive the data on removal. In lmv_hsm_ct_unregister() recover the kkuc_ct_data and free it. Adjust mdc_hsm_ct_reregister() to use kkuc_ct_data and check its UUID against that of the MDC import.
          jhammond John Hammond made changes -
          Assignee Original: WC Triage [ wc-triage ] New: John Hammond [ jhammond ]

          Thomas is off for the next days. I can work on a patch if needed.
          We would appreciate comments/suggestions from Intel on the proposed approach though.

          hdoreau Henri Doreau (Inactive) added a comment - Thomas is off for the next days. I can work on a patch if needed. We would appreciate comments/suggestions from Intel on the proposed approach though.

          Thomas,
          Are you planning to submit a patch for this?

          jlevi Jodi Levi (Inactive) added a comment - Thomas, Are you planning to submit a patch for this?
          jlevi Jodi Levi (Inactive) made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          jlevi Jodi Levi (Inactive) made changes -
          Parent New: LU-3647 [ 20020 ]
          Severity Original: 3 [ 10022 ]
          Issue Type Original: Bug [ 1 ] New: Technical task [ 7 ]

          People

            jhammond John Hammond
            jhammond John Hammond
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: