Message ID | 20211109015055.1547604-11-david@fromorbit.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | xfs: rework xlog_write() | expand |
On Tue, Nov 09, 2021 at 12:50:49PM +1100, Dave Chinner wrote: > From: Christoph Hellwig <hch@lst.de> > > Turn ic_datap from a char into a void pointer given that it points > to arbitrary data. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > Reviewed-by: Brian Foster <bfoster@redhat.com> > Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> > [dgc: also remove (char *) cast in xlog_alloc_log()] > Signed-off-by: Dave Chinner <david@fromorbit.com> Gosh, I actually like the syntax highlighting in lore for reading patches. Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > fs/xfs/xfs_log.c | 7 +++---- > fs/xfs/xfs_log_priv.h | 2 +- > 2 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c > index 76d5a743f6fb..f26c85dbc765 100644 > --- a/fs/xfs/xfs_log.c > +++ b/fs/xfs/xfs_log.c > @@ -1658,7 +1658,7 @@ xlog_alloc_log( > iclog->ic_log = log; > atomic_set(&iclog->ic_refcnt, 0); > INIT_LIST_HEAD(&iclog->ic_callbacks); > - iclog->ic_datap = (char *)iclog->ic_data + log->l_iclog_hsize; > + iclog->ic_datap = (void *)iclog->ic_data + log->l_iclog_hsize; > > init_waitqueue_head(&iclog->ic_force_wait); > init_waitqueue_head(&iclog->ic_write_wait); > @@ -3678,7 +3678,7 @@ xlog_verify_iclog( > if (field_offset & 0x1ff) { > clientid = ophead->oh_clientid; > } else { > - idx = BTOBBT((char *)&ophead->oh_clientid - iclog->ic_datap); > + idx = BTOBBT((void *)&ophead->oh_clientid - iclog->ic_datap); > if (idx >= (XLOG_HEADER_CYCLE_SIZE / BBSIZE)) { > j = idx / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); > k = idx % (XLOG_HEADER_CYCLE_SIZE / BBSIZE); > @@ -3701,8 +3701,7 @@ xlog_verify_iclog( > if (field_offset & 0x1ff) { > op_len = be32_to_cpu(ophead->oh_len); > } else { > - idx = BTOBBT((uintptr_t)&ophead->oh_len - > - (uintptr_t)iclog->ic_datap); > + idx = BTOBBT((void *)&ophead->oh_len - iclog->ic_datap); > if (idx >= (XLOG_HEADER_CYCLE_SIZE / BBSIZE)) { > j = idx / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); > k = idx % (XLOG_HEADER_CYCLE_SIZE / BBSIZE); > diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h > index 56df86d62430..51254d7f38d6 100644 > --- a/fs/xfs/xfs_log_priv.h > +++ b/fs/xfs/xfs_log_priv.h > @@ -190,7 +190,7 @@ typedef struct xlog_in_core { > u32 ic_offset; > enum xlog_iclog_state ic_state; > unsigned int ic_flags; > - char *ic_datap; /* pointer to iclog data */ > + void *ic_datap; /* pointer to iclog data */ > struct list_head ic_callbacks; > > /* reference counts need their own cacheline */ > -- > 2.33.0 >
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 76d5a743f6fb..f26c85dbc765 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -1658,7 +1658,7 @@ xlog_alloc_log( iclog->ic_log = log; atomic_set(&iclog->ic_refcnt, 0); INIT_LIST_HEAD(&iclog->ic_callbacks); - iclog->ic_datap = (char *)iclog->ic_data + log->l_iclog_hsize; + iclog->ic_datap = (void *)iclog->ic_data + log->l_iclog_hsize; init_waitqueue_head(&iclog->ic_force_wait); init_waitqueue_head(&iclog->ic_write_wait); @@ -3678,7 +3678,7 @@ xlog_verify_iclog( if (field_offset & 0x1ff) { clientid = ophead->oh_clientid; } else { - idx = BTOBBT((char *)&ophead->oh_clientid - iclog->ic_datap); + idx = BTOBBT((void *)&ophead->oh_clientid - iclog->ic_datap); if (idx >= (XLOG_HEADER_CYCLE_SIZE / BBSIZE)) { j = idx / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); k = idx % (XLOG_HEADER_CYCLE_SIZE / BBSIZE); @@ -3701,8 +3701,7 @@ xlog_verify_iclog( if (field_offset & 0x1ff) { op_len = be32_to_cpu(ophead->oh_len); } else { - idx = BTOBBT((uintptr_t)&ophead->oh_len - - (uintptr_t)iclog->ic_datap); + idx = BTOBBT((void *)&ophead->oh_len - iclog->ic_datap); if (idx >= (XLOG_HEADER_CYCLE_SIZE / BBSIZE)) { j = idx / (XLOG_HEADER_CYCLE_SIZE / BBSIZE); k = idx % (XLOG_HEADER_CYCLE_SIZE / BBSIZE); diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h index 56df86d62430..51254d7f38d6 100644 --- a/fs/xfs/xfs_log_priv.h +++ b/fs/xfs/xfs_log_priv.h @@ -190,7 +190,7 @@ typedef struct xlog_in_core { u32 ic_offset; enum xlog_iclog_state ic_state; unsigned int ic_flags; - char *ic_datap; /* pointer to iclog data */ + void *ic_datap; /* pointer to iclog data */ struct list_head ic_callbacks; /* reference counts need their own cacheline */