diff options
Diffstat (limited to 'fs/xfs/xfs_trans.c')
| -rw-r--r-- | fs/xfs/xfs_trans.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c index 8afc0c080861..8c0bfc9a33b1 100644 --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c @@ -290,7 +290,9 @@ retry:  		 * Do not perform a synchronous scan because callers can hold  		 * other locks.  		 */ -		xfs_blockgc_flush_all(mp); +		error = xfs_blockgc_flush_all(mp); +		if (error) +			return error;  		want_retry = false;  		goto retry;  	} @@ -970,6 +972,11 @@ __xfs_trans_commit(  		error = xfs_defer_finish_noroll(&tp);  		if (error)  			goto out_unreserve; + +		/* Run precommits from final tx in defer chain. */ +		error = xfs_trans_run_precommits(tp); +		if (error) +			goto out_unreserve;  	}  	/*  | 
