[XFS] Fix up a 32/64 local flags variable issue when enabling attr2 mode.
authorNathan Scott <nathans@sgi.com>
Wed, 2 Nov 2005 04:00:20 +0000 (15:00 +1100)
committerNathan Scott <nathans@sgi.com>
Wed, 2 Nov 2005 04:00:20 +0000 (15:00 +1100)
SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23925a

Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/xfs_attr_leaf.c
fs/xfs/xfs_bmap.c

index 52a847e..35e557b 100644 (file)
@@ -117,12 +117,6 @@ xfs_attr_shortform_bytesfit(xfs_inode_t *dp, int bytes)
        int maxforkoff; /* upper limit on valid forkoff locations */
        xfs_mount_t *mp = dp->i_mount;
 
-       if (unlikely(mp->m_flags & XFS_MOUNT_COMPAT_ATTR)) {
-               if (bytes <= XFS_IFORK_ASIZE(dp))
-                       return mp->m_attroffset >> 3;
-               return 0;
-       }
-
        offset = (XFS_LITINO(mp) - bytes) >> 3; /* rounded down */
 
        switch (dp->i_d.di_format) {
@@ -134,6 +128,12 @@ xfs_attr_shortform_bytesfit(xfs_inode_t *dp, int bytes)
                return (offset >= minforkoff) ? minforkoff : 0;
        }
 
+       if (unlikely(mp->m_flags & XFS_MOUNT_COMPAT_ATTR)) {
+               if (bytes <= XFS_IFORK_ASIZE(dp))
+                       return mp->m_attroffset >> 3;
+               return 0;
+       }
+
        /* data fork btree root can have at least this many key/ptr pairs */
        minforkoff = MAX(dp->i_df.if_bytes, XFS_BMDR_SPACE_CALC(MINDBTPTRS));
        minforkoff = roundup(minforkoff, 8) >> 3;
index 82496d9..fbd48f9 100644 (file)
@@ -3909,19 +3909,20 @@ xfs_bmap_add_attrfork(
                goto error2;
        if (!XFS_SB_VERSION_HASATTR(&mp->m_sb) ||
           (!XFS_SB_VERSION_HASATTR2(&mp->m_sb) && version == 2)) {
-               logflags = 0;
+               __int64_t sbfields = 0;
+
                s = XFS_SB_LOCK(mp);
                if (!XFS_SB_VERSION_HASATTR(&mp->m_sb)) {
                        XFS_SB_VERSION_ADDATTR(&mp->m_sb);
-                       logflags |= XFS_SB_VERSIONNUM;
+                       sbfields |= XFS_SB_VERSIONNUM;
                }
                if (!XFS_SB_VERSION_HASATTR2(&mp->m_sb) && version == 2) {
                        XFS_SB_VERSION_ADDATTR2(&mp->m_sb);
-                       logflags |= (XFS_SB_VERSIONNUM | XFS_SB_FEATURES2);
+                       sbfields |= (XFS_SB_VERSIONNUM | XFS_SB_FEATURES2);
                }
-               if (logflags) {
+               if (sbfields) {
                        XFS_SB_UNLOCK(mp, s);
-                       xfs_mod_sb(tp, logflags);
+                       xfs_mod_sb(tp, sbfields);
                } else
                        XFS_SB_UNLOCK(mp, s);
        }