Whamcloud - gitweb
b=14149
[fs/lustre-release.git] / lustre / cmm / mdc_device.c
index 480a73a..9ecc428 100644 (file)
@@ -136,7 +136,8 @@ static int mdc_obd_add(const struct lu_env *env,
                                          OBD_CONNECT_MDS_CAPA |
                                          OBD_CONNECT_OSS_CAPA | 
                                          OBD_CONNECT_IBITS |
-                                         OBD_CONNECT_MDS_MDS;
+                                         OBD_CONNECT_MDS_MDS |
+                                         OBD_CONNECT_FID;
                 rc = obd_connect(env, conn, mdc, &mdc->obd_uuid, ocd);
                 OBD_FREE_PTR(ocd);
                 if (rc) {
@@ -289,43 +290,14 @@ void mdc_device_free(const struct lu_env *env, struct lu_device *ld)
         OBD_FREE_PTR(mc);
 }
 
-/* context key constructor/destructor */
+/* context key constructor/destructor: mdc_key_init, mdc_key_fini */
+LU_KEY_INIT_FINI(mdc, struct mdc_thread_info);
 
-static void *mdc_key_init(const struct lu_context *ctx,
-                          struct lu_context_key *key)
-{
-        struct mdc_thread_info *info;
-
-        CLASSERT(CFS_PAGE_SIZE >= sizeof *info);
-        OBD_ALLOC_PTR(info);
-        if (info == NULL)
-                info = ERR_PTR(-ENOMEM);
-        return info;
-}
+/* context key: mdc_thread_key */
+LU_CONTEXT_KEY_DEFINE(mdc, LCT_MD_THREAD|LCT_CL_THREAD);
 
-static void mdc_key_fini(const struct lu_context *ctx,
-                         struct lu_context_key *key, void *data)
-{
-        struct mdc_thread_info *info = data;
-        OBD_FREE_PTR(info);
-}
-
-struct lu_context_key mdc_thread_key = {
-        .lct_tags = LCT_MD_THREAD|LCT_CL_THREAD,
-        .lct_init = mdc_key_init,
-        .lct_fini = mdc_key_fini
-};
-
-int mdc_type_init(struct lu_device_type *ldt)
-{
-        LU_CONTEXT_KEY_INIT(&mdc_thread_key);
-        return lu_context_key_register(&mdc_thread_key);
-}
-
-void mdc_type_fini(struct lu_device_type *ldt)
-{
-        lu_context_key_degister(&mdc_thread_key);
-}
+/* type constructor/destructor: mdc_type_init, mdc_type_fini */
+LU_TYPE_INIT_FINI(mdc, &mdc_thread_key);
 
 static struct lu_device_type_operations mdc_device_type_ops = {
         .ldto_init = mdc_type_init,