From c38b038f018bd47102862b4b8b86b14a6a2dfc48 Mon Sep 17 00:00:00 2001 From: David Chinner Date: Fri, 2 Sep 2005 16:40:47 +1000 Subject: [PATCH] --- yaml --- r: 7591 b: refs/heads/master c: 3bdbfb104e53b367892cc9510e6722346dfb656b h: refs/heads/master i: 7589: 7e8612d03dfcd801ad1096c948c7fed1085c6780 7587: e0015a27e98214f84446c6e0dc1274b3caa4326c 7583: 84c99a65710f5146a7c56287bc03802892705a76 v: v3 --- [refs] | 2 +- trunk/fs/xfs/xfs_bmap.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e305ca203d96..8c4261e10fcc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bcec2b7f2bf856bdf2a8780a57fe78417a513682 +refs/heads/master: 3bdbfb104e53b367892cc9510e6722346dfb656b diff --git a/trunk/fs/xfs/xfs_bmap.c b/trunk/fs/xfs/xfs_bmap.c index 6f5d283888aa..3e76def1283d 100644 --- a/trunk/fs/xfs/xfs_bmap.c +++ b/trunk/fs/xfs/xfs_bmap.c @@ -4754,10 +4754,20 @@ xfs_bmapi( error = xfs_mod_incore_sb(mp, XFS_SBS_FDBLOCKS, -(alen), rsvd); - if (!error) + if (!error) { error = xfs_mod_incore_sb(mp, XFS_SBS_FDBLOCKS, -(indlen), rsvd); + if (error && rt) { + xfs_mod_incore_sb(ip->i_mount, + XFS_SBS_FREXTENTS, + extsz, rsvd); + } else if (error) { + xfs_mod_incore_sb(ip->i_mount, + XFS_SBS_FDBLOCKS, + alen, rsvd); + } + } if (error) { if (XFS_IS_QUOTA_ON(ip->i_mount))