aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_inode.c
diff options
context:
space:
mode:
authorLachlan McIlroy <lachlan@sgi.com>2008-09-25 22:16:46 -0400
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-09-25 22:16:46 -0400
commitf1ccd2955157e1aff992f6aaaba0944209076220 (patch)
tree224a32be1bd5cd508d0b85bc446783ea939b7ad3 /fs/xfs/xfs_inode.c
parent6ef190cc92e33565accff6a320f0e7d90480bfe7 (diff)
[XFS] Fix extent list corruption in xfs_iext_irec_compact_full().
If we don't move all the records from the next buffer into the current buffer then we need to update the er_extoff field of the next buffer as we shift the remaining records to the start of the buffer. SGI-PV: 987159 SGI-Modid: xfs-linux-melb:xfs-kern:32165a Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Signed-off-by: Russell Cattelan <cattelan@thebarn.com>
Diffstat (limited to 'fs/xfs/xfs_inode.c')
-rw-r--r--fs/xfs/xfs_inode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 00e80df9dd9d..419cfc2eacb3 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -4584,6 +4584,7 @@ xfs_iext_irec_compact_full(
4584 (XFS_LINEAR_EXTS - 4584 (XFS_LINEAR_EXTS -
4585 erp_next->er_extcount) * 4585 erp_next->er_extcount) *
4586 sizeof(xfs_bmbt_rec_t)); 4586 sizeof(xfs_bmbt_rec_t));
4587 erp_next->er_extoff += ext_diff;
4587 } 4588 }
4588 } 4589 }
4589 4590