forked from Minki/linux
[XFS] Don't allow silent errors in xfs_inactive().
xfs_inactive() fails to report errors when committing the inactive transaction. Hence we can get silent failures either finishing off the truncation or committing the transaction. Even if we get errors, we need to continue, so simply warn loudly to the system if we get errors here. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30830a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Niv Sardi <xaiki@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
This commit is contained in:
parent
64bfe1bfae
commit
78e9da77f1
|
@ -1743,11 +1743,18 @@ xfs_inactive(
|
||||||
XFS_TRANS_MOD_DQUOT_BYINO(mp, tp, ip, XFS_TRANS_DQ_ICOUNT, -1);
|
XFS_TRANS_MOD_DQUOT_BYINO(mp, tp, ip, XFS_TRANS_DQ_ICOUNT, -1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Just ignore errors at this point. There is
|
* Just ignore errors at this point. There is nothing we can
|
||||||
* nothing we can do except to try to keep going.
|
* do except to try to keep going. Make sure it's not a silent
|
||||||
|
* error.
|
||||||
*/
|
*/
|
||||||
(void) xfs_bmap_finish(&tp, &free_list, &committed);
|
error = xfs_bmap_finish(&tp, &free_list, &committed);
|
||||||
(void) xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES);
|
if (error)
|
||||||
|
xfs_fs_cmn_err(CE_NOTE, mp, "xfs_inactive: "
|
||||||
|
"xfs_bmap_finish() returned error %d", error);
|
||||||
|
error = xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES);
|
||||||
|
if (error)
|
||||||
|
xfs_fs_cmn_err(CE_NOTE, mp, "xfs_inactive: "
|
||||||
|
"xfs_trans_commit() returned error %d", error);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Release the dquots held by inode, if any.
|
* Release the dquots held by inode, if any.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user