xfs: change the type of ic_datap
authorChristoph Hellwig <hch@lst.de>
Thu, 21 Apr 2022 00:35:53 +0000 (10:35 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 21 Apr 2022 00:35:53 +0000 (10:35 +1000)
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>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
[dgc: also remove (char *) cast in xlog_alloc_log()]
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_log.c
fs/xfs/xfs_log_priv.h

index e03a9419f5cfe0f9d9513fdbea7be24791b792d9..4cac816023a43f300d10cceab0c79d2b7863ce19 100644 (file)
@@ -1644,7 +1644,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);
@@ -3664,7 +3664,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);
@@ -3687,8 +3687,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);
index a070a2c827ce9991e8e7a6224688431507c00b48..20d818c14003ba24ecfaa987f1a2f76a69ec2b9c 100644 (file)
@@ -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 */