Commit 35b11010 authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

xfs: remove xfs_trans_unreserve_quota_nblks completely



xfs_trans_cancel will release all the quota resources that were reserved
on behalf of the transaction, so get rid of the explicit unreserve step.

Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
parent 85546500
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -820,12 +820,12 @@ xfs_alloc_file_space(
		error = xfs_trans_reserve_quota_nblks(tp, ip, qblocks,
						      0, quota_flag);
		if (error)
			goto error1;
			goto error;

		error = xfs_iext_count_may_overflow(ip, XFS_DATA_FORK,
				XFS_IEXT_ADD_NOSPLIT_CNT);
		if (error)
			goto error0;
			goto error;

		xfs_trans_ijoin(tp, ip, 0);

@@ -833,7 +833,7 @@ xfs_alloc_file_space(
					allocatesize_fsb, alloc_type, 0, imapp,
					&nimaps);
		if (error)
			goto error0;
			goto error;

		/*
		 * Complete the transaction
@@ -856,10 +856,7 @@ xfs_alloc_file_space(

	return error;

error0:	/* unlock inode, unreserve quota blocks, cancel trans */
	xfs_trans_unreserve_quota_nblks(tp, ip, (long)qblocks, 0, quota_flag);

error1:	/* Just cancel transaction */
error:
	xfs_trans_cancel(tp);
	xfs_iunlock(ip, XFS_ILOCK_EXCL);
	return error;
+2 −4
Original line number Diff line number Diff line
@@ -253,7 +253,7 @@ xfs_iomap_write_direct(
	error = xfs_iext_count_may_overflow(ip, XFS_DATA_FORK,
			XFS_IEXT_ADD_NOSPLIT_CNT);
	if (error)
		goto out_res_cancel;
		goto out_trans_cancel;

	xfs_trans_ijoin(tp, ip, 0);

@@ -265,7 +265,7 @@ xfs_iomap_write_direct(
	error = xfs_bmapi_write(tp, ip, offset_fsb, count_fsb, bmapi_flags, 0,
				imap, &nimaps);
	if (error)
		goto out_res_cancel;
		goto out_trans_cancel;

	/*
	 * Complete the transaction
@@ -289,8 +289,6 @@ xfs_iomap_write_direct(
	xfs_iunlock(ip, XFS_ILOCK_EXCL);
	return error;

out_res_cancel:
	xfs_trans_unreserve_quota_nblks(tp, ip, (long)qblocks, 0, quota_flag);
out_trans_cancel:
	xfs_trans_cancel(tp);
	goto out_unlock;
+0 −2
Original line number Diff line number Diff line
@@ -164,8 +164,6 @@ xfs_quota_reserve_blkres(struct xfs_inode *ip, int64_t blocks)
#define xfs_qm_unmount_quotas(mp)
#endif /* CONFIG_XFS_QUOTA */

#define xfs_trans_unreserve_quota_nblks(tp, ip, nblks, ninos, flags) \
	xfs_trans_reserve_quota_nblks(tp, ip, -(nblks), -(ninos), flags)
#define xfs_trans_reserve_quota(tp, mp, ud, gd, pd, nb, ni, f) \
	xfs_trans_reserve_quota_bydquots(tp, mp, ud, gd, pd, nb, ni, \
				f | XFS_QMOPT_RES_REGBLKS)
+1 −4
Original line number Diff line number Diff line
@@ -411,7 +411,7 @@ xfs_reflink_allocate_cow(
			XFS_BMAPI_COWFORK | XFS_BMAPI_PREALLOC, 0, cmap,
			&nimaps);
	if (error)
		goto out_unreserve;
		goto out_trans_cancel;

	xfs_inode_set_cowblocks_tag(ip);
	error = xfs_trans_commit(tp);
@@ -436,9 +436,6 @@ xfs_reflink_allocate_cow(
	trace_xfs_reflink_convert_cow(ip, cmap);
	return xfs_reflink_convert_cow_locked(ip, offset_fsb, count_fsb);

out_unreserve:
	xfs_trans_unreserve_quota_nblks(tp, ip, (long)resblks, 0,
			XFS_QMOPT_RES_REGBLKS);
out_trans_cancel:
	xfs_trans_cancel(tp);
	return error;