summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_log_cil.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2015-06-04 13:48:08 +1000
committerDave Chinner <david@fromorbit.com>2015-06-04 13:48:08 +1000
commit70393313dd0b26a6a79e2737b6dff1f1937b936d (patch)
treed7113f5a6a07e6eb234e73a4c153731b3e8e3aa5 /fs/xfs/xfs_log_cil.c
parent4906e21545814e4129595118287a2f1415483c0b (diff)
downloadlinux-stable-70393313dd0b26a6a79e2737b6dff1f1937b936d.tar.gz
linux-stable-70393313dd0b26a6a79e2737b6dff1f1937b936d.tar.bz2
linux-stable-70393313dd0b26a6a79e2737b6dff1f1937b936d.zip
xfs: saner xfs_trans_commit interface
The flags argument to xfs_trans_commit is not useful for most callers, as a commit of a transaction without a permanent log reservation must pass 0 here, and all callers for a transaction with a permanent log reservation except for xfs_trans_roll must pass XFS_TRANS_RELEASE_LOG_RES. So remove the flags argument from the public xfs_trans_commit interfaces, and introduce low-level __xfs_trans_commit variant just for xfs_trans_roll that regrants a log reservation instead of releasing it. 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_log_cil.c')
-rw-r--r--fs/xfs/xfs_log_cil.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c
index 7e0e63eb4802..d6f26d7d0ce5 100644
--- a/fs/xfs/xfs_log_cil.c
+++ b/fs/xfs/xfs_log_cil.c
@@ -773,13 +773,13 @@ xfs_log_commit_cil(
struct xfs_mount *mp,
struct xfs_trans *tp,
xfs_lsn_t *commit_lsn,
- int flags)
+ bool regrant)
{
struct xlog *log = mp->m_log;
struct xfs_cil *cil = log->l_cilp;
int log_flags = 0;
- if (flags & XFS_TRANS_RELEASE_LOG_RES)
+ if (!regrant)
log_flags = XFS_LOG_REL_PERM_RESERV;
/* lock out background commit */