Merge branch 'xfs-generic-sb-counters' into for-next
Conflicts: fs/xfs/xfs_super.c
This commit is contained in:
@@ -2215,9 +2215,8 @@ xfs_bmap_add_extent_delay_real(
|
||||
diff = (int)(temp + temp2 - startblockval(PREV.br_startblock) -
|
||||
(bma->cur ? bma->cur->bc_private.b.allocated : 0));
|
||||
if (diff > 0) {
|
||||
error = xfs_icsb_modify_counters(bma->ip->i_mount,
|
||||
XFS_SBS_FDBLOCKS,
|
||||
-((int64_t)diff), 0);
|
||||
error = xfs_mod_fdblocks(bma->ip->i_mount,
|
||||
-((int64_t)diff), false);
|
||||
ASSERT(!error);
|
||||
if (error)
|
||||
goto done;
|
||||
@@ -2268,9 +2267,8 @@ xfs_bmap_add_extent_delay_real(
|
||||
temp += bma->cur->bc_private.b.allocated;
|
||||
ASSERT(temp <= da_old);
|
||||
if (temp < da_old)
|
||||
xfs_icsb_modify_counters(bma->ip->i_mount,
|
||||
XFS_SBS_FDBLOCKS,
|
||||
(int64_t)(da_old - temp), 0);
|
||||
xfs_mod_fdblocks(bma->ip->i_mount,
|
||||
(int64_t)(da_old - temp), false);
|
||||
}
|
||||
|
||||
/* clear out the allocated field, done with it now in any case. */
|
||||
@@ -2948,8 +2946,8 @@ xfs_bmap_add_extent_hole_delay(
|
||||
}
|
||||
if (oldlen != newlen) {
|
||||
ASSERT(oldlen > newlen);
|
||||
xfs_icsb_modify_counters(ip->i_mount, XFS_SBS_FDBLOCKS,
|
||||
(int64_t)(oldlen - newlen), 0);
|
||||
xfs_mod_fdblocks(ip->i_mount, (int64_t)(oldlen - newlen),
|
||||
false);
|
||||
/*
|
||||
* Nothing to do for disk quota accounting here.
|
||||
*/
|
||||
@@ -4166,18 +4164,15 @@ xfs_bmapi_reserve_delalloc(
|
||||
ASSERT(indlen > 0);
|
||||
|
||||
if (rt) {
|
||||
error = xfs_mod_incore_sb(mp, XFS_SBS_FREXTENTS,
|
||||
-((int64_t)extsz), 0);
|
||||
error = xfs_mod_frextents(mp, -((int64_t)extsz));
|
||||
} else {
|
||||
error = xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS,
|
||||
-((int64_t)alen), 0);
|
||||
error = xfs_mod_fdblocks(mp, -((int64_t)alen), false);
|
||||
}
|
||||
|
||||
if (error)
|
||||
goto out_unreserve_quota;
|
||||
|
||||
error = xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS,
|
||||
-((int64_t)indlen), 0);
|
||||
error = xfs_mod_fdblocks(mp, -((int64_t)indlen), false);
|
||||
if (error)
|
||||
goto out_unreserve_blocks;
|
||||
|
||||
@@ -4204,9 +4199,9 @@ xfs_bmapi_reserve_delalloc(
|
||||
|
||||
out_unreserve_blocks:
|
||||
if (rt)
|
||||
xfs_mod_incore_sb(mp, XFS_SBS_FREXTENTS, extsz, 0);
|
||||
xfs_mod_frextents(mp, extsz);
|
||||
else
|
||||
xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS, alen, 0);
|
||||
xfs_mod_fdblocks(mp, alen, false);
|
||||
out_unreserve_quota:
|
||||
if (XFS_IS_QUOTA_ON(mp))
|
||||
xfs_trans_unreserve_quota_nblks(NULL, ip, (long)alen, 0, rt ?
|
||||
@@ -5019,10 +5014,8 @@ xfs_bmap_del_extent(
|
||||
* Nothing to do for disk quota accounting here.
|
||||
*/
|
||||
ASSERT(da_old >= da_new);
|
||||
if (da_old > da_new) {
|
||||
xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS,
|
||||
(int64_t)(da_old - da_new), 0);
|
||||
}
|
||||
if (da_old > da_new)
|
||||
xfs_mod_fdblocks(mp, (int64_t)(da_old - da_new), false);
|
||||
done:
|
||||
*logflagsp = flags;
|
||||
return error;
|
||||
@@ -5291,14 +5284,13 @@ xfs_bunmapi(
|
||||
|
||||
rtexts = XFS_FSB_TO_B(mp, del.br_blockcount);
|
||||
do_div(rtexts, mp->m_sb.sb_rextsize);
|
||||
xfs_mod_incore_sb(mp, XFS_SBS_FREXTENTS,
|
||||
(int64_t)rtexts, 0);
|
||||
xfs_mod_frextents(mp, (int64_t)rtexts);
|
||||
(void)xfs_trans_reserve_quota_nblks(NULL,
|
||||
ip, -((long)del.br_blockcount), 0,
|
||||
XFS_QMOPT_RES_RTBLKS);
|
||||
} else {
|
||||
xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS,
|
||||
(int64_t)del.br_blockcount, 0);
|
||||
xfs_mod_fdblocks(mp, (int64_t)del.br_blockcount,
|
||||
false);
|
||||
(void)xfs_trans_reserve_quota_nblks(NULL,
|
||||
ip, -((long)del.br_blockcount), 0,
|
||||
XFS_QMOPT_RES_REGBLKS);
|
||||
|
Reference in New Issue
Block a user