[PATCH 4/8] xfs: remove xlog_write_adv_cnt and simplify xlog_write_partial

Christoph Hellwig
2021-06-16T16:34:39Z

xlog_write_adv_cnt is now only used for writing the continuation ophdr.
Remove xlog_write_adv_cnt and simplify the caller now that we don't need
the ptr iteration variable, and don't need to increment / decrement
len for the accounting shengians.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
fs/xfs/xfs_log.c | 12 +++++-------
fs/xfs/xfs_log_priv.h | 8 --------
2 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index 5b431d53287d2c..1bc32f056a5bcf 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -2331,24 +2331,22 @@ xlog_write_partial(
* a new iclog. This is necessary so that we reserve
* space in the iclog for it.
*/
- *len += sizeof(struct xlog_op_header);
ticket->t_curr_res -= sizeof(struct xlog_op_header);

error = xlog_write_get_more_iclog_space(log, ticket,
- &iclog, log_offset, *len, record_cnt,
- data_cnt);
+ &iclog, log_offset,
+ *len + sizeof(struct xlog_op_header),
+ record_cnt, data_cnt);
if (error)
return ERR_PTR(error);
- ptr = iclog->ic_datap + *log_offset;

- ophdr = ptr;
+ ophdr = iclog->ic_datap + *log_offset;
ophdr->oh_tid = cpu_to_be32(ticket->t_tid);
ophdr->oh_clientid = XFS_TRANSACTION;
ophdr->oh_res2 = 0;
ophdr->oh_flags = XLOG_WAS_CONT_TRANS;

- xlog_write_adv_cnt(&ptr, len, log_offset,
- sizeof(struct xlog_op_header));
+ *log_offset += sizeof(struct xlog_op_header);
*data_cnt += sizeof(struct xlog_op_header);

/*
diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h
index 96dbe713954f7e..1b3b3d2bb8a5d1 100644
--- a/fs/xfs/xfs_log_priv.h
+++ b/fs/xfs/xfs_log_priv.h
@@ -467,14 +467,6 @@ extern kmem_zone_t *xfs_log_ticket_zone;
struct xlog_ticket *xlog_ticket_alloc(struct xlog *log, int unit_bytes,
int count, bool permanent);

-static inline void
-xlog_write_adv_cnt(void **ptr, int *len, int *off, size_t bytes)
-{
- *ptr += bytes;
- *len -= bytes;
- *off += bytes;
-}
-
void xlog_print_tic_res(struct xfs_mount *mp, struct xlog_ticket *ticket);
void xlog_print_trans(struct xfs_trans *);
int xlog_write(struct xlog *log, struct list_head *lv_chain,
--
2.30.2