Whamcloud - gitweb
LU-8851 nodemap: add uid/gid only flags to control mapping
[fs/lustre-release.git] / lustre / mgs / mgs_handler.c
index 7265695..8c398a2 100644 (file)
@@ -467,7 +467,7 @@ static int mgs_target_reg(struct tgt_session_info *tsi)
                                      "request.  All servers must be restarted "
                                      "in order to regenerate the logs: rc = %d"
                                      "\n", obd->obd_name, mti->mti_fsname, rc);
-                       if (rc)
+                       if (rc && rc != -ENOENT)
                                GOTO(out_norevoke, rc);
 
                        rc = mgs_find_or_make_fsdb(tsi->tsi_env, mgs,
@@ -862,6 +862,7 @@ static int mgs_iocontrol_nodemap(const struct lu_env *env,
        case LCFG_NODEMAP_DENY_UNKNOWN:
        case LCFG_NODEMAP_SQUASH_UID:
        case LCFG_NODEMAP_SQUASH_GID:
+       case LCFG_NODEMAP_MAP_MODE:
                if (lcfg->lcfg_bufcount != 4)
                        GOTO(out_lcfg, rc = -EINVAL);
                nodemap_name = lustre_cfg_string(lcfg, 1);
@@ -1067,10 +1068,23 @@ out_free:
                rc = mgs_iocontrol_pool(&env, mgs, data);
                break;
 
+       case OBD_IOC_BARRIER:
+               rc = mgs_iocontrol_barrier(&env, mgs, data);
+               break;
+
        case OBD_IOC_NODEMAP:
                rc = mgs_iocontrol_nodemap(&env, mgs, data);
                break;
 
+       case OBD_IOC_LCFG_FORK:
+               rc = mgs_lcfg_fork(&env, mgs, data->ioc_inlbuf1,
+                                  data->ioc_inlbuf2);
+               break;
+
+       case OBD_IOC_LCFG_ERASE:
+               rc = mgs_lcfg_erase(&env, mgs, data->ioc_inlbuf1);
+               break;
+
        case OBD_IOC_CATLOGLIST:
                rc = mgs_list_logs(&env, mgs, data);
                break;
@@ -1281,6 +1295,10 @@ static int mgs_init0(const struct lu_env *env, struct mgs_device *mgs,
        mutex_init(&mgs->mgs_health_mutex);
        init_rwsem(&mgs->mgs_barrier_rwsem);
 
+       rc = mgs_lcfg_rename(env, mgs);
+       if (rc)
+               GOTO(err_llog, rc);
+
        rc = lproc_mgs_setup(mgs, lustre_cfg_string(lcfg, 3));
        if (rc != 0) {
                CERROR("%s: cannot initialize proc entry: rc = %d\n",