Whamcloud - gitweb
Fix to pass correct flags.
authorgirish <girish>
Thu, 4 Sep 2008 16:23:37 +0000 (16:23 +0000)
committergirish <girish>
Thu, 4 Sep 2008 16:23:37 +0000 (16:23 +0000)
b=16526
i=adilger
i=johann

lustre/llite/llite_lib.c
lustre/mds/mds_lib.c

index 08eb34f..3fa5fc8 100644 (file)
@@ -1815,7 +1815,8 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md)
         if (body->valid & OBD_MD_FLGID)
                 inode->i_gid = body->gid;
         if (body->valid & OBD_MD_FLFLAGS)
-                inode->i_flags = ll_ext_to_inode_flags(body->flags);
+                inode->i_flags = ll_ext_to_inode_flags(body->flags |
+                                                       MDS_BFLAG_EXT_FLAGS);
         if (body->valid & OBD_MD_FLNLINK)
                 inode->i_nlink = body->nlink;
         if (body->valid & OBD_MD_FLGENER)
index 78b5d10..4aa3864 100644 (file)
@@ -93,9 +93,7 @@ void mds_pack_inode2body(struct mds_body *b, struct inode *inode)
         b->blocks = inode->i_blocks;
         b->uid = inode->i_uid;
         b->gid = inode->i_gid;
-        b->flags = (b->flags & MDS_BFLAG_EXT_FLAGS) |
-                   ll_inode_to_ext_flags(inode->i_flags,
-                                         !(b->flags & MDS_BFLAG_EXT_FLAGS));
+        b->flags = ll_inode_to_ext_flags(inode->i_flags, MDS_BFLAG_EXT_FLAGS);
         b->rdev = inode->i_rdev;
         /* Return the correct link count for orphan inodes */
         b->nlink = mds_inode_is_orphan(inode) ? 0 : inode->i_nlink;