Skip to content

Commit

Permalink
xfs: move xlog_commit_record to xfs_log_cil.c
Browse files Browse the repository at this point in the history
It is only used by the CIL checkpoints, and is the counterpart to
start record formatting and writing that is already local to
xfs_log_cil.c.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
  • Loading branch information
Dave Chinner authored and Darrick J. Wong committed Aug 16, 2021
1 parent 2562c32 commit 2ce82b7
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 34 deletions.
31 changes: 0 additions & 31 deletions fs/xfs/xfs_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -1658,37 +1658,6 @@ xlog_alloc_log(
return ERR_PTR(error);
} /* xlog_alloc_log */

/*
* Write out the commit record of a transaction associated with the given
* ticket to close off a running log write. Return the lsn of the commit record.
*/
int
xlog_commit_record(
struct xlog *log,
struct xlog_ticket *ticket,
struct xlog_in_core **iclog,
xfs_lsn_t *lsn)
{
struct xfs_log_iovec reg = {
.i_addr = NULL,
.i_len = 0,
.i_type = XLOG_REG_TYPE_COMMIT,
};
struct xfs_log_vec vec = {
.lv_niovecs = 1,
.lv_iovecp = &reg,
};
int error;

if (xlog_is_shutdown(log))
return -EIO;

error = xlog_write(log, &vec, ticket, lsn, iclog, XLOG_COMMIT_TRANS);
if (error)
xfs_force_shutdown(log->l_mp, SHUTDOWN_LOG_IO_ERROR);
return error;
}

/*
* Compute the LSN that we'd need to push the log tail towards in order to have
* (a) enough on-disk log space to log the number of bytes specified, (b) at
Expand Down
35 changes: 34 additions & 1 deletion fs/xfs/xfs_log_cil.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,38 @@ xlog_cil_process_committed(
}
}

/*
* Write out the commit record of a checkpoint transaction associated with the
* given ticket to close off a running log write. Return the lsn of the commit
* record.
*/
static int
xlog_cil_write_commit_record(
struct xlog *log,
struct xlog_ticket *ticket,
struct xlog_in_core **iclog,
xfs_lsn_t *lsn)
{
struct xfs_log_iovec reg = {
.i_addr = NULL,
.i_len = 0,
.i_type = XLOG_REG_TYPE_COMMIT,
};
struct xfs_log_vec vec = {
.lv_niovecs = 1,
.lv_iovecp = &reg,
};
int error;

if (xlog_is_shutdown(log))
return -EIO;

error = xlog_write(log, &vec, ticket, lsn, iclog, XLOG_COMMIT_TRANS);
if (error)
xfs_force_shutdown(log->l_mp, SHUTDOWN_LOG_IO_ERROR);
return error;
}

/*
* Push the Committed Item List to the log.
*
Expand Down Expand Up @@ -884,7 +916,8 @@ xlog_cil_push_work(
}
spin_unlock(&cil->xc_push_lock);

error = xlog_commit_record(log, tic, &commit_iclog, &commit_lsn);
error = xlog_cil_write_commit_record(log, tic, &commit_iclog,
&commit_lsn);
if (error)
goto out_abort_free_ticket;

Expand Down
2 changes: 0 additions & 2 deletions fs/xfs/xfs_log_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -515,8 +515,6 @@ void xlog_print_trans(struct xfs_trans *);
int xlog_write(struct xlog *log, struct xfs_log_vec *log_vector,
struct xlog_ticket *tic, xfs_lsn_t *start_lsn,
struct xlog_in_core **commit_iclog, uint optype);
int xlog_commit_record(struct xlog *log, struct xlog_ticket *ticket,
struct xlog_in_core **iclog, xfs_lsn_t *lsn);
void xfs_log_ticket_ungrant(struct xlog *log, struct xlog_ticket *ticket);
void xfs_log_ticket_regrant(struct xlog *log, struct xlog_ticket *ticket);

Expand Down

0 comments on commit 2ce82b7

Please sign in to comment.