Whamcloud - gitweb
b=15625
[fs/lustre-release.git] / lustre / mdd / mdd_device.c
index 9222e7e..7621820 100644 (file)
@@ -61,7 +61,7 @@ static int mdd_device_init(const struct lu_env *env, struct lu_device *d,
         mdd->mdd_txn_cb.dtc_txn_stop = mdd_txn_stop_cb;
         mdd->mdd_txn_cb.dtc_txn_commit = mdd_txn_commit_cb;
         mdd->mdd_txn_cb.dtc_cookie = mdd;
-        INIT_LIST_HEAD(&mdd->mdd_txn_cb.dtc_linkage);
+        CFS_INIT_LIST_HEAD(&mdd->mdd_txn_cb.dtc_linkage);
         mdd->mdd_atime_diff = MAX_ATIME_DIFF;
 
         rc = mdd_procfs_init(mdd, name);
@@ -291,7 +291,7 @@ static int mdd_update_capa_key(const struct lu_env *env,
         int rc;
         ENTRY;
 
-        rc = obd_set_info_async(lov_exp, strlen(KEY_CAPA_KEY), KEY_CAPA_KEY,
+        rc = obd_set_info_async(lov_exp, sizeof(KEY_CAPA_KEY), KEY_CAPA_KEY,
                                 sizeof(*key), key, NULL);
         RETURN(rc);
 }
@@ -317,14 +317,17 @@ static struct lu_device *mdd_device_alloc(const struct lu_env *env,
         return l;
 }
 
-static void mdd_device_free(const struct lu_env *env,
-                            struct lu_device *lu)
+static struct lu_device *mdd_device_free(const struct lu_env *env,
+                                         struct lu_device *lu)
 {
         struct mdd_device *m = lu2mdd_dev(lu);
+        struct lu_device  *next = &m->mdd_child->dd_lu_dev;
+        ENTRY;
 
         LASSERT(atomic_read(&lu->ld_ref) == 0);
         md_device_fini(&m->mdd_md_dev);
         OBD_FREE_PTR(m);
+        RETURN(next);
 }
 
 static struct obd_ops mdd_obd_device_ops = {