diff options
author | Jesper Juhl <jesper.juhl@gmail.com> | 2007-06-28 16:43:14 +1000 |
---|---|---|
committer | Tim Shimmin <tes@chook.melbourne.sgi.com> | 2007-07-14 15:36:17 +1000 |
commit | 87ae3c2411cfd280e8289e232b718fae9f63950b (patch) | |
tree | 2d19a572a2ab205265306e420fbe4ca1b94fc135 /fs | |
parent | 39726be2a2e6e61f352852da2c3a807773e33346 (diff) | |
download | linux-87ae3c2411cfd280e8289e232b718fae9f63950b.tar.gz linux-87ae3c2411cfd280e8289e232b718fae9f63950b.tar.bz2 linux-87ae3c2411cfd280e8289e232b718fae9f63950b.zip |
[XFS] Cancel transactions on xfs_itruncate_start error.
SGI-PV: 966502
SGI-Modid: xfs-linux-melb:xfs-kern:28943a
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/xfs_vnodeops.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index 8c830a48165a..5dbca95598e0 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c @@ -1263,6 +1263,7 @@ xfs_free_eofblocks( error = xfs_itruncate_start(ip, XFS_ITRUNC_DEFINITE, ip->i_size); if (error) { + xfs_trans_cancel(tp, 0); if (use_iolock) xfs_iunlock(ip, XFS_IOLOCK_EXCL); return error; @@ -1687,6 +1688,7 @@ xfs_inactive( error = xfs_itruncate_start(ip, XFS_ITRUNC_DEFINITE, 0); if (error) { + xfs_trans_cancel(tp, 0); xfs_iunlock(ip, XFS_IOLOCK_EXCL); return VN_INACTIVE_CACHE; } |