On Thu, Jun 17, 2021 at 06:26:12PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > 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@xxxxxxxxxx> > --- > fs/xfs/xfs_log.c | 41 --------------------------------------- > fs/xfs/xfs_log_cil.c | 45 ++++++++++++++++++++++++++++++++++++++++++- > fs/xfs/xfs_log_priv.h | 2 -- > 3 files changed, 44 insertions(+), 44 deletions(-) > > diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c > index 54fd6a695bb5..cf661c155786 100644 > --- a/fs/xfs/xfs_log.c > +++ b/fs/xfs/xfs_log.c > @@ -1563,47 +1563,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 xlog_op_header ophdr = { > - .oh_clientid = XFS_TRANSACTION, > - .oh_tid = cpu_to_be32(ticket->t_tid), > - .oh_flags = XLOG_COMMIT_TRANS, > - }; > - struct xfs_log_iovec reg = { > - .i_addr = &ophdr, > - .i_len = sizeof(struct xlog_op_header), > - .i_type = XLOG_REG_TYPE_COMMIT, > - }; > - struct xfs_log_vec vec = { > - .lv_niovecs = 1, > - .lv_iovecp = ®, > - }; > - int error; > - LIST_HEAD(lv_chain); > - INIT_LIST_HEAD(&vec.lv_list); > - list_add(&vec.lv_list, &lv_chain); > - > - if (XLOG_FORCED_SHUTDOWN(log)) > - return -EIO; > - > - /* account for space used by record data */ > - ticket->t_curr_res -= reg.i_len; > - error = xlog_write(log, &lv_chain, ticket, lsn, iclog, reg.i_len); > - 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 > diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c > index 2fb0ab02dda3..2c8b25888c53 100644 > --- a/fs/xfs/xfs_log_cil.c > +++ b/fs/xfs/xfs_log_cil.c > @@ -783,6 +783,48 @@ xlog_cil_build_trans_hdr( > tic->t_curr_res -= lvhdr->lv_bytes; > } > > +/* > + * 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. > + */ > +int static int, like the robot suggests? With that fixed, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > +xlog_cil_write_commit_record( > + struct xlog *log, > + struct xlog_ticket *ticket, > + struct xlog_in_core **iclog, > + xfs_lsn_t *lsn) > +{ > + struct xlog_op_header ophdr = { > + .oh_clientid = XFS_TRANSACTION, > + .oh_tid = cpu_to_be32(ticket->t_tid), > + .oh_flags = XLOG_COMMIT_TRANS, > + }; > + struct xfs_log_iovec reg = { > + .i_addr = &ophdr, > + .i_len = sizeof(struct xlog_op_header), > + .i_type = XLOG_REG_TYPE_COMMIT, > + }; > + struct xfs_log_vec vec = { > + .lv_niovecs = 1, > + .lv_iovecp = ®, > + }; > + int error; > + LIST_HEAD(lv_chain); > + INIT_LIST_HEAD(&vec.lv_list); > + list_add(&vec.lv_list, &lv_chain); > + > + if (XLOG_FORCED_SHUTDOWN(log)) > + return -EIO; > + > + /* account for space used by record data */ > + ticket->t_curr_res -= reg.i_len; > + error = xlog_write(log, &lv_chain, ticket, lsn, iclog, reg.i_len); > + if (error) > + xfs_force_shutdown(log->l_mp, SHUTDOWN_LOG_IO_ERROR); > + return error; > +} > + > /* > * CIL item reordering compare function. We want to order in ascending ID order, > * but we want to leave items with the same ID in the order they were added to > @@ -1041,7 +1083,8 @@ xlog_cil_push_work( > } > spin_unlock(&cil->xc_push_lock); > > - error = xlog_commit_record(log, ctx->ticket, &commit_iclog, &commit_lsn); > + error = xlog_cil_write_commit_record(log, ctx->ticket, &commit_iclog, > + &commit_lsn); > if (error) > goto out_abort_free_ticket; > > diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h > index 330befd9f6be..26f26769d1c6 100644 > --- a/fs/xfs/xfs_log_priv.h > +++ b/fs/xfs/xfs_log_priv.h > @@ -490,8 +490,6 @@ void xlog_print_trans(struct xfs_trans *); > int xlog_write(struct xlog *log, struct list_head *lv_chain, > struct xlog_ticket *tic, xfs_lsn_t *start_lsn, > struct xlog_in_core **commit_iclog, uint32_t len); > -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); > -- > 2.31.1 >