diff options
author | Yingping Lu <yingping@sgi.com> | 2005-11-01 23:09:54 -0500 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-11-01 23:09:54 -0500 |
commit | 9af0a70c07a0e7575ebbdb42ca9fb29ffaaf77c9 (patch) | |
tree | 12c2d1126a69cc6ba23e03db957bfa866266fcfd /fs/xfs/xfs_bmap.c | |
parent | 7f14d0a013eeae8f8548e9ac10699465de2adacc (diff) |
[XFS] Fixed a bug in reporting extent list for attribute fork running
xfs_bmap -a.
SGI-PV: 944075
SGI-Modid: xfs-linux:xfs-kern:200860a
Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_bmap.c')
-rw-r--r-- | fs/xfs/xfs_bmap.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index fbd48f9b797e..e52387b3abef 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c | |||
@@ -5725,12 +5725,13 @@ xfs_getbmap( | |||
5725 | out.bmv_offset = XFS_FSB_TO_BB(mp, map[i].br_startoff); | 5725 | out.bmv_offset = XFS_FSB_TO_BB(mp, map[i].br_startoff); |
5726 | out.bmv_length = XFS_FSB_TO_BB(mp, map[i].br_blockcount); | 5726 | out.bmv_length = XFS_FSB_TO_BB(mp, map[i].br_blockcount); |
5727 | ASSERT(map[i].br_startblock != DELAYSTARTBLOCK); | 5727 | ASSERT(map[i].br_startblock != DELAYSTARTBLOCK); |
5728 | if (prealloced && | 5728 | if (map[i].br_startblock == HOLESTARTBLOCK && |
5729 | map[i].br_startblock == HOLESTARTBLOCK && | 5729 | ((prealloced && out.bmv_offset + out.bmv_length == bmvend) || |
5730 | out.bmv_offset + out.bmv_length == bmvend) { | 5730 | whichfork == XFS_ATTR_FORK )) { |
5731 | /* | 5731 | /* |
5732 | * came to hole at end of file | 5732 | * came to hole at end of file or the end of |
5733 | */ | 5733 | attribute fork |
5734 | */ | ||
5734 | goto unlock_and_return; | 5735 | goto unlock_and_return; |
5735 | } else { | 5736 | } else { |
5736 | out.bmv_block = | 5737 | out.bmv_block = |