Whamcloud - gitweb
Branch b1_6
[fs/lustre-release.git] / lustre / obdclass / obd_mount.c
index 8822965..0dd655e 100644 (file)
@@ -640,7 +640,7 @@ static int lustre_start_mgc(struct super_block *sb)
 
         /* Random uuid for MGC allows easier reconnects */
         OBD_ALLOC_PTR(uuid);
-        class_generate_random_uuid(uuidc);
+        ll_generate_random_uuid(uuidc);
         class_uuid_unparse(uuidc, uuid);
 
         /* Start the MGC */
@@ -1092,6 +1092,9 @@ out_mgc:
                         obd_iocontrol(OBD_IOC_ABORT_RECOVERY,
                                       obd->obd_self_export, 0, NULL, NULL);
                 }
+
+                /* log has been fully processed */
+                obd_notify(obd, NULL, OBD_NOTIFY_CONFIG, 0);
         }
 
         RETURN(rc);
@@ -1211,11 +1214,17 @@ static struct vfsmount *server_kernel_mount(struct super_block *sb)
         if (IS_ERR(mnt)) {
                 rc = PTR_ERR(mnt);
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
-                CERROR("premount %s:%#lx ldiskfs failed (%d), is the ldiskfs "
-                       "module available?\n", lmd->lmd_dev, s_flags, rc);
-                GOTO(out_free, rc);
+                /* 2.6 kernels: if ldiskfs fails, try ldiskfs2 */
+                mnt = ll_kern_mount("ldiskfs2", s_flags, lmd->lmd_dev, 0);
+                if (IS_ERR(mnt)) {
+                        int rc2 = PTR_ERR(mnt);
+                        CERROR("premount %s:%#lx ldiskfs failed: %d, ldiskfs2 "
+                               "failed: %d.  Is the ldiskfs module available?\n",
+                               lmd->lmd_dev, s_flags, rc, rc2);
+                        GOTO(out_free, rc);
+                }
 #else
-                /* If ldisk fails, try ext3 */
+                /* 2.4 kernels: if ldiskfs fails, try ext3 */
                 mnt = ll_kern_mount("ext3", s_flags, lmd->lmd_dev, 0);
                 if (IS_ERR(mnt)) {
                         rc = PTR_ERR(mnt);