[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7muoawncdumcsclkcxklw6olqcjko63et26ptbh5lidximffoh@lu34aqtcujtn>
Date: Tue, 8 Apr 2025 12:58:41 +0800
From: Coly Li <colyli@...nel.org>
To: Gabriel Shahrouzi <gshahrouzi@...il.com>
Cc: Kent Overstreet <kent.overstreet@...ux.dev>,
linux-bcache@...r.kernel.org, linux-kernel@...r.kernel.org, skhan@...uxfoundation.org,
kernelmentees@...ts.linuxfoundation.org
Subject: Re: [PATCH 2/2] bcache: Fix warnings for incorrect type in
assignments
On Mon, Apr 07, 2025 at 11:33:22PM +0800, Gabriel Shahrouzi wrote:
> Remove unnecessary cpu_to_le16() and cpu_to_le32() conversions when
> assigning values (priorities, timestamps) to native integer type
> members. Prevent incorrect byte ordering for big-endian systems.
>
Hmm, why do you feel the conversions are unncessary? Please explain
with details.
I don't mean the modification is correct or incorrect, just want to
see detailed analysis and help me understand in correct why as you
are.
BTW, did you have chance to test your patch on big-endian machine?
Thanks.
> Signed-off-by: Gabriel Shahrouzi <gshahrouzi@...il.com>
> ---
> drivers/md/bcache/super.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index e42f1400cea9d..c4c5ca17fb600 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -648,7 +648,7 @@ int bch_prio_write(struct cache *ca, bool wait)
> for (b = ca->buckets + i * prios_per_bucket(ca);
> b < ca->buckets + ca->sb.nbuckets && d < end;
> b++, d++) {
> - d->prio = cpu_to_le16(b->prio);
> + d->prio = b->prio;
> d->gen = b->gen;
> }
>
> @@ -721,7 +721,7 @@ static int prio_read(struct cache *ca, uint64_t bucket)
> d = p->data;
> }
>
> - b->prio = le16_to_cpu(d->prio);
> + b->prio = d->prio;
> b->gen = b->last_gc = d->gen;
> }
>
> @@ -832,7 +832,7 @@ static void bcache_device_detach(struct bcache_device *d)
>
> SET_UUID_FLASH_ONLY(u, 0);
> memcpy(u->uuid, invalid_uuid, 16);
> - u->invalidated = cpu_to_le32((u32)ktime_get_real_seconds());
> + u->invalidated = (u32)ktime_get_real_seconds();
> bch_uuid_write(d->c);
> }
>
> @@ -1188,7 +1188,7 @@ void bch_cached_dev_detach(struct cached_dev *dc)
> int bch_cached_dev_attach(struct cached_dev *dc, struct cache_set *c,
> uint8_t *set_uuid)
> {
> - uint32_t rtime = cpu_to_le32((u32)ktime_get_real_seconds());
> + uint32_t rtime = (u32)ktime_get_real_seconds();
> struct uuid_entry *u;
> struct cached_dev *exist_dc, *t;
> int ret = 0;
> @@ -1230,7 +1230,7 @@ int bch_cached_dev_attach(struct cached_dev *dc, struct cache_set *c,
> (BDEV_STATE(&dc->sb) == BDEV_STATE_STALE ||
> BDEV_STATE(&dc->sb) == BDEV_STATE_NONE)) {
> memcpy(u->uuid, invalid_uuid, 16);
> - u->invalidated = cpu_to_le32((u32)ktime_get_real_seconds());
> + u->invalidated = (u32)ktime_get_real_seconds();
> u = NULL;
> }
>
> @@ -1591,7 +1591,7 @@ int bch_flash_dev_create(struct cache_set *c, uint64_t size)
>
> get_random_bytes(u->uuid, 16);
> memset(u->label, 0, 32);
> - u->first_reg = u->last_reg = cpu_to_le32((u32)ktime_get_real_seconds());
> + u->first_reg = u->last_reg = (u32)ktime_get_real_seconds();
>
> SET_UUID_FLASH_ONLY(u, 1);
> u->sectors = size >> 9;
> --
> 2.43.0
>
--
Coly Li
Powered by blists - more mailing lists