linux/drivers/block
Michael Callahan ddcf35d397 block: Add and use op_stat_group() for indexing disk_stat fields.
Add and use a new op_stat_group() function for indexing partition stat
fields rather than indexing them by rq_data_dir() or bio_data_dir().
This function works similarly to op_is_sync() in that it takes the
request::cmd_flags or bio::bi_opf flags and determines which stats
should et updated.

In addition, the second parameter to generic_start_io_acct() and
generic_end_io_acct() is now a REQ_OP rather than simply a read or
write bit and it uses op_stat_group() on the parameter to determine
the stat group.

Note that the partition in_flight counts are not part of the per-cpu
statistics and as such are not indexed via this function.  It's now
indexed by op_is_write().

tj: Refreshed on top of v4.17.  Updated to pass around REQ_OP.

Signed-off-by: Michael Callahan <michaelcallahan@fb.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Joshua Morris <josh.h.morris@us.ibm.com>
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Matias Bjorling <mb@lightnvm.io>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Cc: Alasdair Kergon <agk@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-07-18 08:44:20 -06:00
..
aoe block drivers/block: Use octal not symbolic permissions 2018-05-24 13:38:59 -06:00
drbd block: Add and use op_stat_group() for indexing disk_stat fields. 2018-07-18 08:44:20 -06:00
mtip32xx blk-mq: only iterate over inflight requests in blk_mq_tagset_busy_iter 2018-05-30 11:31:34 -06:00
paride paride: remove redundant variable n 2018-07-09 09:07:53 -06:00
rsxx block: Add and use op_stat_group() for indexing disk_stat fields. 2018-07-18 08:44:20 -06:00
xen-blkback treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
zram block: Add and use op_stat_group() for indexing disk_stat fields. 2018-07-18 08:44:20 -06:00
DAC960.c block/DAC960.c: fix defined but not used build warnings 2018-07-09 09:07:55 -06:00
DAC960.h DAC960: don't use block layer bounce buffers 2018-05-11 15:07:54 -06:00
Kconfig null_blk: remove explicit 'select FAULT_INJECTION' 2018-01-11 07:58:31 -07:00
Makefile null_blk: add zone support 2018-07-09 09:07:55 -06:00
amiflop.c genhd: Rename get_disk() to get_disk_and_module() 2018-02-26 09:48:42 -07:00
ataflop.c genhd: Rename get_disk() to get_disk_and_module() 2018-02-26 09:48:42 -07:00
brd.c block: make bdev_ops->rw_page() take a REQ_OP instead of bool 2018-07-18 08:44:14 -06:00
cryptoloop.c block: cryptoloop - Fix build warning 2017-09-26 07:41:22 -06:00
floppy.c block/floppy: remove redundant variable dflags 2018-07-09 09:07:52 -06:00
loop.c block/loop: mark expected switch fall-through 2018-07-09 09:07:53 -06:00
loop.h loop: remember whether sysfs_create_group() was done 2018-05-07 15:26:36 -06:00
nbd.c nbd: Add the nbd NBD_DISCONNECT_ON_CLOSE config flag. 2018-06-20 19:10:06 -06:00
null_blk.c null_blk: add zone support 2018-07-09 09:07:55 -06:00
null_blk.h null_blk: add zone support 2018-07-09 09:07:55 -06:00
null_blk_zoned.c null_blk: add zone support 2018-07-09 09:07:55 -06:00
pktcdvd.c pktcdvd: remove assignment in if condition 2018-07-17 16:17:04 -06:00
ps3disk.c ps3disk: handle highmem pages 2018-05-11 15:08:03 -06:00
ps3vram.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
rbd.c The main piece is a set of libceph changes that revamps how OSD 2018-06-15 07:24:58 +09:00
rbd_types.h rbd: RBD_V{1,2}_DATA_FORMAT macros 2017-02-20 12:16:15 +01:00
skd_main.c block: skd: Use %pad printk format for dma_addr_t values 2018-07-12 15:01:28 -06:00
skd_s1120.h skd: Use __packed only when needed 2017-08-18 08:45:29 -06:00
sunvdc.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
swim.c block/swim: Select appropriate drive on device open 2018-04-16 21:49:35 -06:00
swim3.c block/swim: Rename macros to avoid inconsistent inverted logic 2018-04-16 21:49:35 -06:00
swim_asm.S
sx8.c block: sanitize blk_get_request calling conventions 2018-05-14 08:55:12 -06:00
umem.c block: Fix a race between the cgroup code and request queue initialization 2018-02-28 12:23:35 -07:00
umem.h
virtio_blk.c block drivers/block: Use octal not symbolic permissions 2018-05-24 13:38:59 -06:00
xen-blkfront.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
xsysace.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
z2ram.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00