* [PATCH v3 0/5] Remove several superfluous sector casts
@ 2025-08-15 16:54 Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 1/5] block, bfq: Remove a superfluous cast Bart Van Assche
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Bart Van Assche @ 2025-08-15 16:54 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-block, Christoph Hellwig, Bart Van Assche
Hi Jens,
This patch series fixes one bcache bug and removes superfluous casts of sector
numbers / offsets. Please consider this patch series for inclusion in the
upstream kernel.
Thanks,
Bart.
Changes compared to v2:
- Fixed Kent's email address.
Changes compared to v1:
- Rebased on top of v6.17-rc1.
- Added Acked-by and Reviewed-by tags.
Bart Van Assche (5):
block, bfq: Remove a superfluous cast
block, genhd: Remove disk_stats.sectors casts
bcache, tracing: Do not truncate orig_sector
bcache, tracing: Remove superfluous casts
block, tracing: Remove superfluous casts
block/bfq-iosched.c | 3 +--
block/genhd.c | 12 ++++++------
include/trace/events/bcache.h | 15 +++++++--------
include/trace/events/block.h | 34 +++++++++++++---------------------
4 files changed, 27 insertions(+), 37 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/5] block, bfq: Remove a superfluous cast
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
@ 2025-08-15 16:54 ` Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 2/5] block, genhd: Remove disk_stats.sectors casts Bart Van Assche
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Bart Van Assche @ 2025-08-15 16:54 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Bart Van Assche, Yu Kuai,
Chaitanya Kulkarni
sector_t is a synonym for u64 and all architectures define u64 as unsigned
long long. Hence, it is not necessary to cast type sector_t to unsigned
long long. Remove a superfluous cast to improve compile-time type checking.
Reviewed-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
block/bfq-iosched.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index 50e51047e1fe..d24143f55fd2 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -760,8 +760,7 @@ bfq_rq_pos_tree_lookup(struct bfq_data *bfqd, struct rb_root *root,
if (rb_link)
*rb_link = p;
- bfq_log(bfqd, "rq_pos_tree_lookup %llu: returning %d",
- (unsigned long long)sector,
+ bfq_log(bfqd, "rq_pos_tree_lookup %llu: returning %d", sector,
bfqq ? bfqq->pid : 0);
return bfqq;
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/5] block, genhd: Remove disk_stats.sectors casts
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 1/5] block, bfq: Remove a superfluous cast Bart Van Assche
@ 2025-08-15 16:54 ` Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 3/5] bcache, tracing: Do not truncate orig_sector Bart Van Assche
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Bart Van Assche @ 2025-08-15 16:54 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Bart Van Assche,
Chaitanya Kulkarni
In include/linux/part_stat.h, disk_stats.sectors is declared as
unsigned long[]. Instead of casting disk_stats.sectors to unsigned long
long and formatting it with %llu, remove the cast and format these numbers
with %lu. No functionality has been changed.
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
block/genhd.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/genhd.c b/block/genhd.c
index 9bbc38d12792..31cff7980f70 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1074,19 +1074,19 @@ ssize_t part_stat_show(struct device *dev,
}
part_stat_read_all(bdev, &stat);
return sysfs_emit(buf,
- "%8lu %8lu %8llu %8u "
- "%8lu %8lu %8llu %8u "
+ "%8lu %8lu %8lu %8u "
+ "%8lu %8lu %8lu %8u "
"%8u %8u %8u "
- "%8lu %8lu %8llu %8u "
+ "%8lu %8lu %8lu %8u "
"%8lu %8u"
"\n",
stat.ios[STAT_READ],
stat.merges[STAT_READ],
- (unsigned long long)stat.sectors[STAT_READ],
+ stat.sectors[STAT_READ],
(unsigned int)div_u64(stat.nsecs[STAT_READ], NSEC_PER_MSEC),
stat.ios[STAT_WRITE],
stat.merges[STAT_WRITE],
- (unsigned long long)stat.sectors[STAT_WRITE],
+ stat.sectors[STAT_WRITE],
(unsigned int)div_u64(stat.nsecs[STAT_WRITE], NSEC_PER_MSEC),
inflight,
jiffies_to_msecs(stat.io_ticks),
@@ -1097,7 +1097,7 @@ ssize_t part_stat_show(struct device *dev,
NSEC_PER_MSEC),
stat.ios[STAT_DISCARD],
stat.merges[STAT_DISCARD],
- (unsigned long long)stat.sectors[STAT_DISCARD],
+ stat.sectors[STAT_DISCARD],
(unsigned int)div_u64(stat.nsecs[STAT_DISCARD], NSEC_PER_MSEC),
stat.ios[STAT_FLUSH],
(unsigned int)div_u64(stat.nsecs[STAT_FLUSH], NSEC_PER_MSEC));
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 3/5] bcache, tracing: Do not truncate orig_sector
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 1/5] block, bfq: Remove a superfluous cast Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 2/5] block, genhd: Remove disk_stats.sectors casts Bart Van Assche
@ 2025-08-15 16:54 ` Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 4/5] bcache, tracing: Remove superfluous casts Bart Van Assche
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Bart Van Assche @ 2025-08-15 16:54 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Bart Van Assche, Kent Overstreet,
Coly Li, Chaitanya Kulkarni, Steven Rostedt, Masami Hiramatsu
Change the type of orig_sector from dev_t (unsigned int) into sector_t
(u64) to prevent truncation of orig_sector by the tracing code.
Cc: Kent Overstreet <kent.overstreet@linux.dev>
Acked-by: Coly Li <colyli@kernel.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Fixes: cafe56359144 ("bcache: A block layer cache")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
include/trace/events/bcache.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/trace/events/bcache.h b/include/trace/events/bcache.h
index 899fdacf57b9..d0eee403dc15 100644
--- a/include/trace/events/bcache.h
+++ b/include/trace/events/bcache.h
@@ -16,7 +16,7 @@ DECLARE_EVENT_CLASS(bcache_request,
__field(unsigned int, orig_major )
__field(unsigned int, orig_minor )
__field(sector_t, sector )
- __field(dev_t, orig_sector )
+ __field(sector_t, orig_sector )
__field(unsigned int, nr_sector )
__array(char, rwbs, 6 )
),
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 4/5] bcache, tracing: Remove superfluous casts
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
` (2 preceding siblings ...)
2025-08-15 16:54 ` [PATCH v3 3/5] bcache, tracing: Do not truncate orig_sector Bart Van Assche
@ 2025-08-15 16:54 ` Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 5/5] block, " Bart Van Assche
2025-08-19 1:47 ` [PATCH v3 0/5] Remove several superfluous sector casts Martin K. Petersen
5 siblings, 0 replies; 7+ messages in thread
From: Bart Van Assche @ 2025-08-15 16:54 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Bart Van Assche, Coly Li,
Chaitanya Kulkarni, Steven Rostedt, Masami Hiramatsu
sector_t is a synonym for u64 and all architectures define u64 as unsigned
long long. Hence, it is not necessary to cast type sector_t to unsigned
long long. Remove the superfluous casts to improve compile-time type
checking.
Acked-by: Coly Li <colyli@kernel.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
include/trace/events/bcache.h | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/include/trace/events/bcache.h b/include/trace/events/bcache.h
index d0eee403dc15..697e0f80d17c 100644
--- a/include/trace/events/bcache.h
+++ b/include/trace/events/bcache.h
@@ -33,9 +33,9 @@ DECLARE_EVENT_CLASS(bcache_request,
TP_printk("%d,%d %s %llu + %u (from %d,%d @ %llu)",
MAJOR(__entry->dev), MINOR(__entry->dev),
- __entry->rwbs, (unsigned long long)__entry->sector,
+ __entry->rwbs, __entry->sector,
__entry->nr_sector, __entry->orig_major, __entry->orig_minor,
- (unsigned long long)__entry->orig_sector)
+ __entry->orig_sector)
);
DECLARE_EVENT_CLASS(bkey,
@@ -107,7 +107,7 @@ DECLARE_EVENT_CLASS(bcache_bio,
TP_printk("%d,%d %s %llu + %u",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector, __entry->nr_sector)
+ __entry->sector, __entry->nr_sector)
);
DEFINE_EVENT(bcache_bio, bcache_bypass_sequential,
@@ -144,7 +144,7 @@ TRACE_EVENT(bcache_read,
TP_printk("%d,%d %s %llu + %u hit %u bypass %u",
MAJOR(__entry->dev), MINOR(__entry->dev),
- __entry->rwbs, (unsigned long long)__entry->sector,
+ __entry->rwbs, __entry->sector,
__entry->nr_sector, __entry->cache_hit, __entry->bypass)
);
@@ -175,7 +175,7 @@ TRACE_EVENT(bcache_write,
TP_printk("%pU inode %llu %s %llu + %u hit %u bypass %u",
__entry->uuid, __entry->inode,
- __entry->rwbs, (unsigned long long)__entry->sector,
+ __entry->rwbs, __entry->sector,
__entry->nr_sector, __entry->writeback, __entry->bypass)
);
@@ -243,8 +243,7 @@ TRACE_EVENT(bcache_journal_write,
TP_printk("%d,%d %s %llu + %u keys %u",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector, __entry->nr_sector,
- __entry->nr_keys)
+ __entry->sector, __entry->nr_sector, __entry->nr_keys)
);
/* Btree */
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 5/5] block, tracing: Remove superfluous casts
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
` (3 preceding siblings ...)
2025-08-15 16:54 ` [PATCH v3 4/5] bcache, tracing: Remove superfluous casts Bart Van Assche
@ 2025-08-15 16:54 ` Bart Van Assche
2025-08-19 1:47 ` [PATCH v3 0/5] Remove several superfluous sector casts Martin K. Petersen
5 siblings, 0 replies; 7+ messages in thread
From: Bart Van Assche @ 2025-08-15 16:54 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-block, Christoph Hellwig, Bart Van Assche, Damien Le Moal,
Chaitanya Kulkarni, Steven Rostedt, Masami Hiramatsu,
Johannes Thumshirn, Ritesh Harjani (IBM)
sector_t is a synonym for u64 and all architectures define u64 as unsigned
long long. Hence, it is not necessary to cast type sector_t to unsigned
long long. Remove the superfluous casts to improve compile-time type
checking.
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
include/trace/events/block.h | 34 +++++++++++++---------------------
1 file changed, 13 insertions(+), 21 deletions(-)
diff --git a/include/trace/events/block.h b/include/trace/events/block.h
index 6aa79e2d799c..57fcf3d673fd 100644
--- a/include/trace/events/block.h
+++ b/include/trace/events/block.h
@@ -41,7 +41,7 @@ DECLARE_EVENT_CLASS(block_buffer,
TP_printk("%d,%d sector=%llu size=%zu",
MAJOR(__entry->dev), MINOR(__entry->dev),
- (unsigned long long)__entry->sector, __entry->size
+ __entry->sector, __entry->size
)
);
@@ -108,7 +108,7 @@ TRACE_EVENT(block_rq_requeue,
TP_printk("%d,%d %s (%s) %llu + %u %s,%u,%u [%d]",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->rwbs, __get_str(cmd),
- (unsigned long long)__entry->sector, __entry->nr_sector,
+ __entry->sector, __entry->nr_sector,
__print_symbolic(IOPRIO_PRIO_CLASS(__entry->ioprio),
IOPRIO_CLASS_STRINGS),
IOPRIO_PRIO_HINT(__entry->ioprio),
@@ -145,7 +145,7 @@ DECLARE_EVENT_CLASS(block_rq_completion,
TP_printk("%d,%d %s (%s) %llu + %u %s,%u,%u [%d]",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->rwbs, __get_str(cmd),
- (unsigned long long)__entry->sector, __entry->nr_sector,
+ __entry->sector, __entry->nr_sector,
__print_symbolic(IOPRIO_PRIO_CLASS(__entry->ioprio),
IOPRIO_CLASS_STRINGS),
IOPRIO_PRIO_HINT(__entry->ioprio),
@@ -219,7 +219,7 @@ DECLARE_EVENT_CLASS(block_rq,
TP_printk("%d,%d %s %u (%s) %llu + %u %s,%u,%u [%s]",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->rwbs, __entry->bytes, __get_str(cmd),
- (unsigned long long)__entry->sector, __entry->nr_sector,
+ __entry->sector, __entry->nr_sector,
__print_symbolic(IOPRIO_PRIO_CLASS(__entry->ioprio),
IOPRIO_CLASS_STRINGS),
IOPRIO_PRIO_HINT(__entry->ioprio),
@@ -328,8 +328,7 @@ TRACE_EVENT(block_bio_complete,
TP_printk("%d,%d %s %llu + %u [%d]",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector,
- __entry->nr_sector, __entry->error)
+ __entry->sector, __entry->nr_sector, __entry->error)
);
DECLARE_EVENT_CLASS(block_bio,
@@ -356,8 +355,7 @@ DECLARE_EVENT_CLASS(block_bio,
TP_printk("%d,%d %s %llu + %u [%s]",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector,
- __entry->nr_sector, __entry->comm)
+ __entry->sector, __entry->nr_sector, __entry->comm)
);
/**
@@ -509,9 +507,7 @@ TRACE_EVENT(block_split,
TP_printk("%d,%d %s %llu / %llu [%s]",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector,
- (unsigned long long)__entry->new_sector,
- __entry->comm)
+ __entry->sector, __entry->new_sector, __entry->comm)
);
/**
@@ -549,10 +545,9 @@ TRACE_EVENT(block_bio_remap,
TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector,
- __entry->nr_sector,
+ __entry->sector, __entry->nr_sector,
MAJOR(__entry->old_dev), MINOR(__entry->old_dev),
- (unsigned long long)__entry->old_sector)
+ __entry->old_sector)
);
/**
@@ -593,10 +588,9 @@ TRACE_EVENT(block_rq_remap,
TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu %u",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector,
- __entry->nr_sector,
+ __entry->sector, __entry->nr_sector,
MAJOR(__entry->old_dev), MINOR(__entry->old_dev),
- (unsigned long long)__entry->old_sector, __entry->nr_bios)
+ __entry->old_sector, __entry->nr_bios)
);
/**
@@ -630,8 +624,7 @@ TRACE_EVENT(blkdev_zone_mgmt,
TP_printk("%d,%d %s %llu + %llu",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs,
- (unsigned long long)__entry->sector,
- __entry->nr_sectors)
+ __entry->sector, __entry->nr_sectors)
);
DECLARE_EVENT_CLASS(block_zwplug,
@@ -657,8 +650,7 @@ DECLARE_EVENT_CLASS(block_zwplug,
TP_printk("%d,%d zone %u, BIO %llu + %u",
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->zno,
- (unsigned long long)__entry->sector,
- __entry->nr_sectors)
+ __entry->sector, __entry->nr_sectors)
);
DEFINE_EVENT(block_zwplug, disk_zone_wplug_add_bio,
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 0/5] Remove several superfluous sector casts
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
` (4 preceding siblings ...)
2025-08-15 16:54 ` [PATCH v3 5/5] block, " Bart Van Assche
@ 2025-08-19 1:47 ` Martin K. Petersen
5 siblings, 0 replies; 7+ messages in thread
From: Martin K. Petersen @ 2025-08-19 1:47 UTC (permalink / raw)
To: Bart Van Assche; +Cc: Jens Axboe, linux-block, Christoph Hellwig
Bart,
> This patch series fixes one bcache bug and removes superfluous casts
> of sector numbers / offsets. Please consider this patch series for
> inclusion in the upstream kernel.
Looks OK.
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-08-19 1:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-15 16:54 [PATCH v3 0/5] Remove several superfluous sector casts Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 1/5] block, bfq: Remove a superfluous cast Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 2/5] block, genhd: Remove disk_stats.sectors casts Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 3/5] bcache, tracing: Do not truncate orig_sector Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 4/5] bcache, tracing: Remove superfluous casts Bart Van Assche
2025-08-15 16:54 ` [PATCH v3 5/5] block, " Bart Van Assche
2025-08-19 1:47 ` [PATCH v3 0/5] Remove several superfluous sector casts Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).