aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dquot.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2015-06-03 23:47:56 -0400
committerDave Chinner <david@fromorbit.com>2015-06-03 23:47:56 -0400
commit4906e21545814e4129595118287a2f1415483c0b (patch)
tree1e07c3083a4d7c5f3c56d679f9b440c653a867b3 /fs/xfs/xfs_dquot.c
parenteacb24e73424bdae4aa139ddd459f86ec46f0ad0 (diff)
xfs: remove the flags argument to xfs_trans_cancel
xfs_trans_cancel takes two flags arguments: XFS_TRANS_RELEASE_LOG_RES and XFS_TRANS_ABORT. Both of them are a direct product of the transaction state, and can be deducted: - any dirty transaction needs XFS_TRANS_ABORT to be properly canceled, and XFS_TRANS_ABORT is a noop for a transaction that is not dirty. - any transaction with a permanent log reservation needs XFS_TRANS_RELEASE_LOG_RES to be properly canceled, and passing XFS_TRANS_RELEASE_LOG_RES for a transaction without a permanent log reservation is invalid. So just remove the flags argument and do the right thing. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_dquot.c')
-rw-r--r--fs/xfs/xfs_dquot.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c
index 02c01bbbc789..ab0ae1f8b0ea 100644
--- a/fs/xfs/xfs_dquot.c
+++ b/fs/xfs/xfs_dquot.c
@@ -568,8 +568,6 @@ xfs_qm_dqread(
568 struct xfs_buf *bp; 568 struct xfs_buf *bp;
569 struct xfs_trans *tp = NULL; 569 struct xfs_trans *tp = NULL;
570 int error; 570 int error;
571 int cancelflags = 0;
572
573 571
574 dqp = kmem_zone_zalloc(xfs_qm_dqzone, KM_SLEEP); 572 dqp = kmem_zone_zalloc(xfs_qm_dqzone, KM_SLEEP);
575 573
@@ -617,7 +615,6 @@ xfs_qm_dqread(
617 XFS_QM_DQALLOC_SPACE_RES(mp), 0); 615 XFS_QM_DQALLOC_SPACE_RES(mp), 0);
618 if (error) 616 if (error)
619 goto error1; 617 goto error1;
620 cancelflags = XFS_TRANS_RELEASE_LOG_RES;
621 } 618 }
622 619
623 /* 620 /*
@@ -632,7 +629,6 @@ xfs_qm_dqread(
632 * allocate (ENOENT). 629 * allocate (ENOENT).
633 */ 630 */
634 trace_xfs_dqread_fail(dqp); 631 trace_xfs_dqread_fail(dqp);
635 cancelflags |= XFS_TRANS_ABORT;
636 goto error1; 632 goto error1;
637 } 633 }
638 634
@@ -680,7 +676,7 @@ xfs_qm_dqread(
680 676
681error1: 677error1:
682 if (tp) 678 if (tp)
683 xfs_trans_cancel(tp, cancelflags); 679 xfs_trans_cancel(tp);
684error0: 680error0:
685 xfs_qm_dqdestroy(dqp); 681 xfs_qm_dqdestroy(dqp);
686 *O_dqpp = NULL; 682 *O_dqpp = NULL;