mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
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 <[email protected]> Signed-off-by: Tejun Heo <[email protected]> Cc: Minchan Kim <[email protected]> Cc: Dan Williams <[email protected]> Cc: Joshua Morris <[email protected]> Cc: Philipp Reisner <[email protected]> Cc: Matias Bjorling <[email protected]> Cc: Kent Overstreet <[email protected]> Cc: Alasdair Kergon <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
parent
dbae2c5513
commit
ddcf35d397
13 changed files with 50 additions and 43 deletions
|
|
@ -396,16 +396,15 @@ static inline bool nd_iostat_start(struct bio *bio, unsigned long *start)
|
|||
return false;
|
||||
|
||||
*start = jiffies;
|
||||
generic_start_io_acct(disk->queue, bio_data_dir(bio),
|
||||
bio_sectors(bio), &disk->part0);
|
||||
generic_start_io_acct(disk->queue, bio_op(bio), bio_sectors(bio),
|
||||
&disk->part0);
|
||||
return true;
|
||||
}
|
||||
static inline void nd_iostat_end(struct bio *bio, unsigned long start)
|
||||
{
|
||||
struct gendisk *disk = bio->bi_disk;
|
||||
|
||||
generic_end_io_acct(disk->queue, bio_data_dir(bio), &disk->part0,
|
||||
start);
|
||||
generic_end_io_acct(disk->queue, bio_op(bio), &disk->part0, start);
|
||||
}
|
||||
static inline bool is_bad_pmem(struct badblocks *bb, sector_t sector,
|
||||
unsigned int len)
|
||||
|
|
|
|||
Loading…
Reference in a new issue