Skip to content

Commit

Permalink
[XFS] Don't double count reserved block changes on UP.
Browse files Browse the repository at this point in the history
On uniprocessor machines, the incore superblock is used for all in memory
accounting of free blocks. in this situation, changes to the reserved
block count are accounted twice; once directly and once via
xfs_mod_incore_sb(). Seeing as the modification on SMP is done via
xfs_mod_incore_sb(), make this the only update mechanism that UP uses as
well.

SGI-PV: 980654
SGI-Modid: xfs-linux-melb:xfs-kern:30997a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
  • Loading branch information
David Chinner authored and Lachlan McIlroy committed Apr 29, 2008
1 parent fe0754f commit d349404
Showing 1 changed file with 0 additions and 4 deletions.
4 changes: 0 additions & 4 deletions fs/xfs/xfs_fsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -552,11 +552,8 @@ xfs_reserve_blocks(
mp->m_resblks += free;
mp->m_resblks_avail += free;
fdblks_delta = -free;
mp->m_sb.sb_fdblocks = XFS_ALLOC_SET_ASIDE(mp);
} else {
fdblks_delta = -delta;
mp->m_sb.sb_fdblocks =
lcounter + XFS_ALLOC_SET_ASIDE(mp);
mp->m_resblks = request;
mp->m_resblks_avail += delta;
}
Expand Down Expand Up @@ -587,7 +584,6 @@ xfs_reserve_blocks(
if (error == ENOSPC)
goto retry;
}

return 0;
}

Expand Down

0 comments on commit d349404

Please sign in to comment.