Whamcloud - gitweb
b=3920
[fs/lustre-release.git] / lustre / mds / mds_lov.c
index 73a4629..1f7c19e 100644 (file)
@@ -426,7 +426,13 @@ int mds_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
                 OBD_FREE(cfg_buf, data->ioc_plen1);
                 RETURN(rc);
         }
-
+        case OBD_IOC_SNAP_ADD: {
+                char *name = data->ioc_inlbuf1;
+                if (name) {
+                        rc = fsfilt_set_snap_item(obd, mds->mds_sb, name);
+                }
+                RETURN(rc);
+        }
         case OBD_IOC_PARSE: {
                 struct llog_ctxt *ctxt =
                         llog_get_context(&obd->obd_llogs, LLOG_CONFIG_ORIG_CTXT);
@@ -529,9 +535,12 @@ int mds_lov_synchronize(void *data)
         struct obd_uuid *uuid;
         unsigned long flags;
         int rc;
+        int valsize;
+        __u32 group;
 
         lock_kernel();
         ptlrpc_daemonize();
+        snprintf (current->comm, sizeof (current->comm), "%s", "mds_lov_sync");
 
         SIGNAL_MASK_LOCK(current, flags);
         sigfillset(&current->blocked);
@@ -543,13 +552,18 @@ int mds_lov_synchronize(void *data)
 
         OBD_FREE(mlsi, sizeof(*mlsi));
 
+
         LASSERT(obd != NULL);
         LASSERT(uuid != NULL);
 
+        group = FILTER_GROUP_FIRST_MDS + obd->u.mds.mds_num;
+        valsize = sizeof(group);
         rc = obd_set_info(obd->u.mds.mds_osc_exp, strlen("mds_conn"), 
-                          "mds_conn", 0, uuid);
-        if (rc != 0)
+                          "mds_conn", valsize, &group);
+        if (rc != 0) {
+                CERROR("obd_set_info(mds_conn) failed %d\n", rc);
                 RETURN(rc);
+        }
         
         ctxt = llog_get_context(&obd->obd_llogs, LLOG_UNLINK_ORIG_CTXT);
         LASSERT(ctxt != NULL);