diff options
author | Lachlan McIlroy <lachlan@sgi.com> | 2008-09-25 22:16:46 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-09-25 22:16:46 -0400 |
commit | f1ccd2955157e1aff992f6aaaba0944209076220 (patch) | |
tree | 224a32be1bd5cd508d0b85bc446783ea939b7ad3 /fs | |
parent | 6ef190cc92e33565accff6a320f0e7d90480bfe7 (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')
-rw-r--r-- | fs/xfs/xfs_inode.c | 1 |
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 | ||