Whamcloud - gitweb
LU-3365 lmv: support DNE with HSM.
[fs/lustre-release.git] / lustre / mdc / mdc_request.c
index 2d2167c..50f9600 100644 (file)
@@ -1824,6 +1824,9 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
                GOTO(out, rc);
        case LL_IOC_HSM_CT_START:
                rc = mdc_ioc_hsm_ct_start(exp, karg);
                GOTO(out, rc);
        case LL_IOC_HSM_CT_START:
                rc = mdc_ioc_hsm_ct_start(exp, karg);
+               /* ignore if it was already registered on this MDS. */
+               if (rc == -EEXIST)
+                       rc = 0;
                GOTO(out, rc);
        case LL_IOC_HSM_PROGRESS:
                rc = mdc_ioc_hsm_progress(exp, karg);
                GOTO(out, rc);
        case LL_IOC_HSM_PROGRESS:
                rc = mdc_ioc_hsm_progress(exp, karg);
@@ -2043,19 +2046,10 @@ static int mdc_ioc_hsm_ct_start(struct obd_export *exp,
               lk->lk_uid, lk->lk_group, lk->lk_flags);
 
        if (lk->lk_flags & LK_FLG_STOP) {
               lk->lk_uid, lk->lk_group, lk->lk_flags);
 
        if (lk->lk_flags & LK_FLG_STOP) {
-               rc = libcfs_kkuc_group_rem(lk->lk_uid, lk->lk_group);
                /* Unregister with the coordinator */
                /* Unregister with the coordinator */
-               if (rc == 0)
-                       rc = mdc_ioc_hsm_ct_unregister(imp);
+               rc = mdc_ioc_hsm_ct_unregister(imp);
        } else {
        } else {
-               struct file *fp = fget(lk->lk_wfd);
-
-               rc = libcfs_kkuc_group_add(fp, lk->lk_uid, lk->lk_group,
-                                          lk->lk_data);
-               if (rc && fp)
-                       fput(fp);
-               if (rc == 0)
-                       rc = mdc_ioc_hsm_ct_register(imp, archive);
+               rc = mdc_ioc_hsm_ct_register(imp, archive);
        }
 
        return rc;
        }
 
        return rc;
@@ -2380,7 +2374,7 @@ static int mdc_import_event(struct obd_device *obd, struct obd_import *imp,
         }
        case IMP_EVENT_ACTIVE:
                rc = obd_notify_observer(obd, obd, OBD_NOTIFY_ACTIVE, NULL);
         }
        case IMP_EVENT_ACTIVE:
                rc = obd_notify_observer(obd, obd, OBD_NOTIFY_ACTIVE, NULL);
-               /* restore re-establish kuc registration after reconnecting */
+               /* redo the kuc registration after reconnecting */
                if (rc == 0)
                        rc = mdc_kuc_reregister(imp);
                break;
                if (rc == 0)
                        rc = mdc_kuc_reregister(imp);
                break;