Message ID | 20210616163212.1480297-5-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/8] xfs: change the type of ic_datap | expand |
On Wed, Jun 16, 2021 at 06:32:08PM +0200, Christoph Hellwig wrote: > 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: In function ‘xlog_write_partial’: fs/xfs/xfs_log.c:2261:10: warning: unused variable ‘ptr’ [-Wunused-variable] With that fixed: Reviewed-by: Brian Foster <bfoster@redhat.com> > 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 >
On 16 Jun 2021 at 22:02, Christoph Hellwig wrote: > 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. > Looks good. Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> > 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,
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,
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(-)