xfs: remove bitfield based superblock updates
[deliverable/linux.git] / fs / xfs / libxfs / xfs_bmap.c
index b5eb4743f75a032c250662f5f8dcfe510db541bf..8c39cc852e4bd30431828c086fcaa46916c7d14b 100644 (file)
@@ -1221,22 +1221,20 @@ xfs_bmap_add_attrfork(
                goto bmap_cancel;
        if (!xfs_sb_version_hasattr(&mp->m_sb) ||
           (!xfs_sb_version_hasattr2(&mp->m_sb) && version == 2)) {
-               __int64_t sbfields = 0;
+               bool mod_sb = false;
 
                spin_lock(&mp->m_sb_lock);
                if (!xfs_sb_version_hasattr(&mp->m_sb)) {
                        xfs_sb_version_addattr(&mp->m_sb);
-                       sbfields |= XFS_SB_VERSIONNUM;
+                       mod_sb = true;
                }
                if (!xfs_sb_version_hasattr2(&mp->m_sb) && version == 2) {
                        xfs_sb_version_addattr2(&mp->m_sb);
-                       sbfields |= (XFS_SB_VERSIONNUM | XFS_SB_FEATURES2);
+                       mod_sb = true;
                }
-               if (sbfields) {
-                       spin_unlock(&mp->m_sb_lock);
-                       xfs_mod_sb(tp, sbfields);
-               } else
-                       spin_unlock(&mp->m_sb_lock);
+               spin_unlock(&mp->m_sb_lock);
+               if (mod_sb)
+                       xfs_mod_sb(tp);
        }
 
        error = xfs_bmap_finish(&tp, &flist, &committed);
This page took 0.026927 seconds and 5 git commands to generate.