diff --git a/lustre/mds/mds_internal.h b/lustre/mds/mds_internal.h
index d13c29030048ee6be68733b87bcde078471eabff..0f3a091267072020c6be9bfb410d7b2eda1bd4a7 100644
--- a/lustre/mds/mds_internal.h
+++ b/lustre/mds/mds_internal.h
@@ -124,7 +124,6 @@ int mds_get_md(struct obd_device *, struct inode *, void *md, int *size,
 int mds_pack_md(struct obd_device *, struct lustre_msg *, int offset,
                 struct mds_body *, struct inode *, int lock);
 void mds_pack_dentry2fid(struct ll_fid *, struct dentry *);
-void mds_pack_dentry2body(struct mds_body *b, struct dentry *dentry);
 void mds_pack_inode2fid(struct obd_device *, struct ll_fid *, struct inode *);
 void mds_pack_inode2body(struct obd_device *, struct mds_body *, struct inode *);
 #endif
@@ -137,6 +136,7 @@ int mds_try_to_split_dir(struct obd_device *, struct dentry *, struct mea **,
                          int, int);
 int mds_get_lmv_attr(struct obd_device *, struct inode *, struct mea **, int *);
 int mds_choose_mdsnum(struct obd_device *, const char *, int, int);
+int mds_lmv_postsetup(struct obd_device *);
 int mds_splitting_expected(struct obd_device *, struct dentry *);
 int mds_lock_slave_objs(struct obd_device *, struct dentry *,
                         struct lustre_handle **);
diff --git a/lustre/mds/mds_lib.c b/lustre/mds/mds_lib.c
index 3fc2a2c0c8d58ed6c5d651c593c38ca69ff54432..e5a591b3b5d2426c148cbcd24f2c030eaf65250a 100644
--- a/lustre/mds/mds_lib.c
+++ b/lustre/mds/mds_lib.c
@@ -49,21 +49,14 @@
 #include <linux/lustre_lib.h>
 #include <linux/lustre_mds.h>
 
-void mds_pack_dentry2fid(struct ll_fid *fid, struct dentry *dentry)
+void mds_pack_dentry2fid(struct ll_fid *fid,
+                                struct dentry *dentry)
 {
         fid->id = dentry->d_inum;
         fid->generation = dentry->d_generation;
         fid->mds = dentry->d_mdsnum;
 }
 
-void mds_pack_dentry2body(struct mds_body *b, struct dentry *dentry)
-{
-        b->valid |= OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_MDS;
-        b->ino = dentry->d_inum;
-        b->generation = dentry->d_generation;
-        b->mds = dentry->d_mdsnum;
-}
-
 void mds_pack_inode2fid(struct obd_device *obd, struct ll_fid *fid,
                                 struct inode *inode)
 {
@@ -80,7 +73,7 @@ void mds_pack_inode2body(struct obd_device *obd, struct mds_body *b,
         b->valid |= OBD_MD_FLID | OBD_MD_FLCTIME | OBD_MD_FLUID |
                     OBD_MD_FLGID | OBD_MD_FLFLAGS | OBD_MD_FLTYPE |
                     OBD_MD_FLMODE | OBD_MD_FLNLINK | OBD_MD_FLGENER |
-                    OBD_MD_FLATIME | OBD_MD_FLMTIME | OBD_MD_MDS; /* bug 2020 */
+                    OBD_MD_FLATIME | OBD_MD_FLMTIME; /* bug 2020 */
 
         if (!S_ISREG(inode->i_mode))
                 b->valid |= OBD_MD_FLSIZE | OBD_MD_FLBLOCKS | OBD_MD_FLATIME |
diff --git a/lustre/mds/mds_reint.c b/lustre/mds/mds_reint.c
index 4374fa647dd0958ed0f91a9f4bfacbdd18da276a..3689a109e54410d483ae1095abc3b7d4ed7a6256 100644
--- a/lustre/mds/mds_reint.c
+++ b/lustre/mds/mds_reint.c
@@ -547,7 +547,6 @@ static void reconstruct_reint_create(struct mds_update_record *rec, int offset,
                 LASSERTF(child->d_inode == NULL, "BUG 3869");
                 body = lustre_msg_buf(req->rq_repmsg, offset, sizeof (*body));
                 mds_pack_dentry2fid(&body->fid1, child);
-                mds_pack_dentry2body(body, child);
         } else if (child->d_inode == NULL) {
                 DEBUG_REQ(D_ERROR, req, "parent "LPU64"/%u name %s mode %o",
                           rec->ur_fid1->id, rec->ur_fid1->generation,