Lines Matching refs:part
132 rq->part = NULL; in blk_rq_init()
681 static bool should_fail_request(struct hd_struct *part, unsigned int bytes) in should_fail_request() argument
683 return part->make_it_fail && should_fail(&fail_make_request, bytes); in should_fail_request()
698 static inline bool should_fail_request(struct hd_struct *part, in should_fail_request() argument
706 static inline bool bio_check_ro(struct bio *bio, struct hd_struct *part) in bio_check_ro() argument
710 if (part->policy && op_is_write(op)) { in bio_check_ro()
716 bio_devname(bio, b), part->partno); in bio_check_ro()
1271 static void update_io_ticks(struct hd_struct *part, unsigned long now, bool end) in update_io_ticks() argument
1275 stamp = READ_ONCE(part->stamp); in update_io_ticks()
1277 if (likely(cmpxchg(&part->stamp, stamp, now) == stamp)) in update_io_ticks()
1278 __part_stat_add(part, io_ticks, end ? now - stamp : 1); in update_io_ticks()
1280 if (part->partno) { in update_io_ticks()
1281 part = &part_to_disk(part)->part0; in update_io_ticks()
1288 if (req->part && blk_do_io_stat(req)) { in blk_account_io_completion()
1290 struct hd_struct *part; in blk_account_io_completion() local
1293 part = req->part; in blk_account_io_completion()
1294 part_stat_add(part, sectors[sgrp], bytes >> 9); in blk_account_io_completion()
1306 if (req->part && blk_do_io_stat(req) && in blk_account_io_done()
1309 struct hd_struct *part; in blk_account_io_done() local
1312 part = req->part; in blk_account_io_done()
1314 update_io_ticks(part, jiffies, true); in blk_account_io_done()
1315 part_stat_inc(part, ios[sgrp]); in blk_account_io_done()
1316 part_stat_add(part, nsecs[sgrp], now - req->start_time_ns); in blk_account_io_done()
1319 hd_struct_put(part); in blk_account_io_done()
1328 rq->part = disk_map_sector_rcu(rq->rq_disk, blk_rq_pos(rq)); in blk_account_io_start()
1331 update_io_ticks(rq->part, jiffies, false); in blk_account_io_start()
1335 static unsigned long __part_start_io_acct(struct hd_struct *part, in __part_start_io_acct() argument
1342 update_io_ticks(part, now, false); in __part_start_io_acct()
1343 part_stat_inc(part, ios[sgrp]); in __part_start_io_acct()
1344 part_stat_add(part, sectors[sgrp], sectors); in __part_start_io_acct()
1345 part_stat_local_inc(part, in_flight[op_is_write(op)]); in __part_start_io_acct()
1351 unsigned long part_start_io_acct(struct gendisk *disk, struct hd_struct **part, in part_start_io_acct() argument
1354 *part = disk_map_sector_rcu(disk, bio->bi_iter.bi_sector); in part_start_io_acct()
1356 return __part_start_io_acct(*part, bio_sectors(bio), bio_op(bio)); in part_start_io_acct()
1367 static void __part_end_io_acct(struct hd_struct *part, unsigned int op, in __part_end_io_acct() argument
1375 update_io_ticks(part, now, true); in __part_end_io_acct()
1376 part_stat_add(part, nsecs[sgrp], jiffies_to_nsecs(duration)); in __part_end_io_acct()
1377 part_stat_local_dec(part, in_flight[op_is_write(op)]); in __part_end_io_acct()
1381 void part_end_io_acct(struct hd_struct *part, struct bio *bio, in part_end_io_acct() argument
1384 __part_end_io_acct(part, bio_op(bio), start_time); in part_end_io_acct()
1385 hd_struct_put(part); in part_end_io_acct()