Whamcloud - gitweb
LU-1303 osd: zfs-osd should initialize local objects on MDS
[fs/lustre-release.git] / lustre / osd-zfs / osd_handler.c
index 6bd4bf4..bba18f7 100644 (file)
@@ -548,6 +548,7 @@ static int osd_mount(const struct lu_env *env,
        rc = lu_site_init(&o->od_site, osd2lu_dev(o));
        if (rc)
                GOTO(err, rc);
+       o->od_site.ls_bottom_dev = osd2lu_dev(o);
 
        rc = lu_site_init_finish(&o->od_site);
        if (rc)
@@ -788,6 +789,15 @@ static int osd_prepare(const struct lu_env *env, struct lu_device *pdev,
        int                      rc = 0;
        ENTRY;
 
+       if (dev->ld_site && lu_device_is_md(dev->ld_site->ls_top_dev)) {
+               /* MDT/MDD still use old infrastructure to create
+                * special files */
+               rc = llo_local_objects_setup(env, lu2md_dev(pdev),
+                                            lu2dt_dev(dev));
+               if (rc)
+                       RETURN(rc);
+       }
+
        /* initialize quota slave instance */
        osd->od_quota_slave = qsd_init(env, osd->od_svname, &osd->od_dt_dev,
                                       osd->od_proc_entry);