Whamcloud - gitweb
b=3885
authorrread <rread>
Mon, 19 Jul 2004 22:38:40 +0000 (22:38 +0000)
committerrread <rread>
Mon, 19 Jul 2004 22:38:40 +0000 (22:38 +0000)
THe hack on b1_2 branch to call set_info("mds_conn") on a specific OSC
instead of all of them was removed on HEAD, and this broke
mds_lov_synchronize.  Instead of introducing a new hack to do this,
for now this changes m_l_s to send the set_info() to all the connected
OSTs. This should be harmless.

lustre/mds/mds_lov.c

index 5efd5f4..1f7c19e 100644 (file)
@@ -535,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);
@@ -549,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);