]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: Don't inc io_(read|write) counters for moves
authorKent Overstreet <kent.overstreet@linux.dev>
Thu, 30 Jan 2025 08:41:31 +0000 (03:41 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sat, 15 Mar 2025 01:02:10 +0000 (21:02 -0400)
This makes 'bcachefs fs top' more useful; we can now see at a glance
whether the IO to the device is being done for user reads/writes, or
copygc/rebalance.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/io_read.c
fs/bcachefs/io_write.c

index aa91fcf51eecc93551983ee289cb1419665d5d2f..b2b0280d83658744ae714f67a4892b9ed90f91b0 100644 (file)
@@ -1091,7 +1091,8 @@ get_bio:
        if (rbio->bounce)
                trace_and_count(c, read_bounce, &rbio->bio);
 
-       this_cpu_add(c->counters[BCH_COUNTER_io_read], bio_sectors(&rbio->bio));
+       if (!(flags & BCH_READ_NODECODE))
+               this_cpu_add(c->counters[BCH_COUNTER_io_read], bio_sectors(&rbio->bio));
        bch2_increment_clock(c, bio_sectors(&rbio->bio), READ);
 
        /*
index 03892388832b6f5f4c363b65ba7753c358724361..970f3f0959a42074747fb43d3f089a356166ad8f 100644 (file)
@@ -1644,7 +1644,8 @@ CLOSURE_CALLBACK(bch2_write)
                goto err;
        }
 
-       this_cpu_add(c->counters[BCH_COUNTER_io_write], bio_sectors(bio));
+       if (!(op->flags & BCH_WRITE_MOVE))
+               this_cpu_add(c->counters[BCH_COUNTER_io_write], bio_sectors(bio));
        bch2_increment_clock(c, bio_sectors(bio), WRITE);
 
        data_len = min_t(u64, bio->bi_iter.bi_size,