History

block: rename generic_make_request to submit_bio_noacct

generic_make_request has always been very confusingly misnamed, so rename it to submit_bio_noacct to make it clear that it is submit_bio minus accounting and a few checks.

Christoph Hellwig committed 6 years ago

Commit ed00aab1 parent c62b37d44 files · +115 −118Browse files

Unified · Split

44 files
  1. Documentation/block/biodoc.rst +1 −1
  2. Documentation/fault-injection/fault-injection.rst +1 −1
  3. Documentation/trace/ftrace.rst +2 −2
  4. block/bio.c +7 −7
  5. block/blk-core.c +15 −17
  6. block/blk-crypto-fallback.c +1 −1
  7. block/blk-crypto.c +1 −1
  8. block/blk-merge.c +1 −1
  9. block/blk-throttle.c +2 −2
  10. block/bounce.c +1 −1
  11. drivers/block/drbd/drbd_int.h +3 −3
  12. drivers/block/drbd/drbd_main.c +1 −1
  13. drivers/block/drbd/drbd_receiver.c +1 −1
  14. drivers/block/drbd/drbd_req.c +1 −1
  15. drivers/block/drbd/drbd_worker.c +1 −1
  16. drivers/block/pktcdvd.c +1 −1
  17. drivers/lightnvm/pblk-read.c +1 −1
  18. drivers/md/bcache/bcache.h +1 −1
  19. drivers/md/bcache/btree.c +1 −1
  20. drivers/md/bcache/request.c +3 −4
  21. drivers/md/dm-cache-target.c +3 −3
  22. drivers/md/dm-clone-target.c +5 −5
  23. drivers/md/dm-crypt.c +3 −3
  24. drivers/md/dm-delay.c +1 −1
  25. drivers/md/dm-era-target.c +1 −1
  26. drivers/md/dm-integrity.c +2 −2
  27. drivers/md/dm-mpath.c +1 −1
  28. drivers/md/dm-raid1.c +1 −1
  29. drivers/md/dm-snap-persistent.c +1 −1
  30. drivers/md/dm-snap.c +3 −3
  31. drivers/md/dm-thin.c +2 −2
  32. drivers/md/dm-verity-target.c +1 −1
  33. drivers/md/dm-writecache.c +1 −1
  34. drivers/md/dm-zoned-target.c +1 −1
  35. drivers/md/dm.c +5 −5
  36. drivers/md/md-faulty.c +2 −2
  37. drivers/md/md-linear.c +2 −2
  38. drivers/md/md-multipath.c +2 −2
  39. drivers/md/raid0.c +4 −4
  40. drivers/md/raid1.c +7 −7
  41. drivers/md/raid10.c +14 −14
  42. drivers/md/raid5.c +5 −5
  43. drivers/nvme/host/multipath.c +1 −1
  44. include/linux/blkdev.h +1 −1
Documentation/block/biodoc.rst+1−1
@@ -1036,7 +1036,7 @@ Now the generic block layer performs partition-remapping early and thus · 1035 unmodified lines
10361036 provides drivers with a sector number relative to whole device, rather than
10371037 having to take partition number into account in order to arrive at the true
10381038 sector number. The routine blk_partition_remap() is invoked by
1039−generic_make_request even before invoking the queue specific ->submit_bio,
1039+submit_bio_noacct even before invoking the queue specific ->submit_bio,
10401040 so the i/o scheduler also gets to operate on whole disk sector numbers. This
10411041 should typically not require changes to block drivers, it just never gets
10421042 to invoke its own partition sector offset calculations since all bios
Documentation/fault-injection/fault-injection.rst+1−1
@@ -24,7 +24,7 @@ Available fault injection capabilities · 23 unmodified lines
2424
2525 injects disk IO errors on devices permitted by setting
2626 /sys/block/<device>/make-it-fail or
27− /sys/block/<device>/<partition>/make-it-fail. (generic_make_request())
27+ /sys/block/<device>/<partition>/make-it-fail. (submit_bio_noacct())
2828
2929 - fail_mmc_request
3030
Documentation/trace/ftrace.rst+2−2
@@ -1453,7 +1453,7 @@ function-trace, we get a much larger output:: · 1452 unmodified lines
14531453 => __blk_run_queue_uncond
14541454 => __blk_run_queue
14551455 => blk_queue_bio
1456− => generic_make_request
1456+ => submit_bio_noacct
14571457 => submit_bio
14581458 => submit_bh
14591459 => __ext3_get_inode_loc
@@ -1738,7 +1738,7 @@ tracers. · 278 unmodified lines
17381738 => __blk_run_queue_uncond
17391739 => __blk_run_queue
17401740 => blk_queue_bio
1741− => generic_make_request
1741+ => submit_bio_noacct
17421742 => submit_bio
17431743 => submit_bh
17441744 => ext3_bread
block/bio.c+7−7
@@ -358,7 +358,7 @@ static void bio_alloc_rescue(struct work_struct *work) · 357 unmodified lines
358358 if (!bio)
359359 break;
360360
361− generic_make_request(bio);
361+ submit_bio_noacct(bio);
362362 }
363363 }
364364
@@ -416,19 +416,19 @@ static void punt_bios_to_rescuer(struct bio_set *bs) · 51 unmodified lines
416416 * submit the previously allocated bio for IO before attempting to allocate
417417 * a new one. Failure to do so can cause deadlocks under memory pressure.
418418 *
419− * Note that when running under generic_make_request() (i.e. any block
419+ * Note that when running under submit_bio_noacct() (i.e. any block
420420 * driver), bios are not submitted until after you return - see the code in
421− * generic_make_request() that converts recursion into iteration, to prevent
421+ * submit_bio_noacct() that converts recursion into iteration, to prevent
422422 * stack overflows.
423423 *
424424 * This would normally mean allocating multiple bios under
425− * generic_make_request() would be susceptible to deadlocks, but we have
425+ * submit_bio_noacct() would be susceptible to deadlocks, but we have
426426 * deadlock avoidance code that resubmits any blocked bios from a rescuer
427427 * thread.
428428 *
429429 * However, we do not guarantee forward progress for allocations from other
430430 * mempools. Doing multiple allocations from the same mempool under
431− * generic_make_request() should be avoided - instead, use bio_set's front_pad
431+ * submit_bio_noacct() should be avoided - instead, use bio_set's front_pad
432432 * for per bio allocations.
433433 *
434434 * RETURNS:
@@ -457,14 +457,14 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned int nr_iovecs, · 22 unmodified lines
457457 nr_iovecs > 0))
458458 return NULL;
459459 /*
460− * generic_make_request() converts recursion to iteration; this
460+ * submit_bio_noacct() converts recursion to iteration; this
461461 * means if we're running beneath it, any bios we allocate and
462462 * submit will not be submitted (and thus freed) until after we
463463 * return.
464464 *
465465 * This exposes us to a potential deadlock if we allocate
466466 * multiple bios from the same bio_set() while running
467− * underneath generic_make_request(). If we were to allocate
467+ * underneath submit_bio_noacct(). If we were to allocate
468468 * multiple bios (say a stacking block driver that was splitting
469469 * bios), we would deadlock if we exhausted the mempool's
470470 * reserve.
block/blk-core.c+15−17
@@ -956,8 +956,7 @@ static inline blk_status_t blk_check_zone_append(struct request_queue *q, · 955 unmodified lines
956956 return BLK_STS_OK;
957957 }
958958
959−static noinline_for_stack bool
960−generic_make_request_checks(struct bio *bio)
959+static noinline_for_stack bool submit_bio_checks(struct bio *bio)
961960 {
962961 struct request_queue *q = bio->bi_disk->queue;
963962 blk_status_t status = BLK_STS_IOERR;
@@ -985,9 +984,8 @@ generic_make_request_checks(struct bio *bio) · 21 unmodified lines
985984 }
986985
987986 /*
988− * Filter flush bio's early so that make_request based
989− * drivers without flush support don't have to worry
990− * about them.
987+ * Filter flush bio's early so that bio based drivers without flush
988+ * support don't have to worry about them.
991989 */
992990 if (op_is_flush(bio->bi_opf) &&
993991 !test_bit(QUEUE_FLAG_WC, &q->queue_flags)) {
@@ -1072,7 +1070,7 @@ end_io: · 78 unmodified lines
10721070 return false;
10731071 }
10741072
1075−static blk_qc_t do_make_request(struct bio *bio)
1073+static blk_qc_t __submit_bio(struct bio *bio)
10761074 {
10771075 struct gendisk *disk = bio->bi_disk;
10781076 blk_qc_t ret = BLK_QC_T_NONE;
@@ -1087,7 +1085,7 @@ static blk_qc_t do_make_request(struct bio *bio) · 8 unmodified lines
10871085 }
10881086
10891087 /**
1090− * generic_make_request - re-submit a bio to the block device layer for I/O
1088+ * submit_bio_noacct - re-submit a bio to the block device layer for I/O
10911089 * @bio: The bio describing the location in memory and on the device.
10921090 *
10931091 * This is a version of submit_bio() that shall only be used for I/O that is
@@ -1095,7 +1093,7 @@ static blk_qc_t do_make_request(struct bio *bio) · 1 unmodified line
10951093 * systems and other upper level users of the block layer should use
10961094 * submit_bio() instead.
10971095 */
1098−blk_qc_t generic_make_request(struct bio *bio)
1096+blk_qc_t submit_bio_noacct(struct bio *bio)
10991097 {
11001098 /*
11011099 * bio_list_on_stack[0] contains bios submitted by the current
@@ -1106,7 +1104,7 @@ blk_qc_t generic_make_request(struct bio *bio) · 4 unmodified lines
11061104 struct bio_list bio_list_on_stack[2];
11071105 blk_qc_t ret = BLK_QC_T_NONE;
11081106
1109− if (!generic_make_request_checks(bio))
1107+ if (!submit_bio_checks(bio))
11101108 goto out;
11111109
11121110 /*
@@ -1114,7 +1112,7 @@ blk_qc_t generic_make_request(struct bio *bio) · 1 unmodified line
11141112 * stack usage with stacked devices could be a problem. So use
11151113 * current->bio_list to keep a list of requests submited by a
11161114 * ->submit_bio method. current->bio_list is also used as a
1117− * flag to say if generic_make_request is currently active in this
1115+ * flag to say if submit_bio_noacct is currently active in this
11181116 * task or not. If it is NULL, then no make_request is active. If
11191117 * it is non-NULL, then a make_request is active, and new requests
11201118 * should be added at the tail
@@ -1132,7 +1130,7 @@ blk_qc_t generic_make_request(struct bio *bio) · 11 unmodified lines
11321130 * we assign bio_list to a pointer to the bio_list_on_stack,
11331131 * thus initialising the bio_list of new bios to be
11341132 * added. ->submit_bio() may indeed add some more bios
1135− * through a recursive call to generic_make_request. If it
1133+ * through a recursive call to submit_bio_noacct. If it
11361134 * did, we find a non-NULL value in bio_list and re-enter the loop
11371135 * from the top. In this case we really did just take the bio
11381136 * of the top of the list (no pretending) and so remove it from
@@ -1150,7 +1148,7 @@ blk_qc_t generic_make_request(struct bio *bio) · 11 unmodified lines
11501148 /* Create a fresh bio_list for all subordinate requests */
11511149 bio_list_on_stack[1] = bio_list_on_stack[0];
11521150 bio_list_init(&bio_list_on_stack[0]);
1153− ret = do_make_request(bio);
1151+ ret = __submit_bio(bio);
11541152
11551153 /* sort new bios into those for a lower level
11561154 * and those for the same level
@@ -1174,13 +1172,13 @@ blk_qc_t generic_make_request(struct bio *bio) · 17 unmodified lines
11741172 out:
11751173 return ret;
11761174 }
1177−EXPORT_SYMBOL(generic_make_request);
1175+EXPORT_SYMBOL(submit_bio_noacct);
11781176
11791177 /**
11801178 * direct_make_request - hand a buffer directly to its device driver for I/O
11811179 * @bio: The bio describing the location in memory and on the device.
11821180 *
1183− * This function behaves like generic_make_request(), but does not protect
1181+ * This function behaves like submit_bio_noacct(), but does not protect
11841182 * against recursion. Must only be used if the called driver is known
11851183 * to be blk-mq based.
11861184 */
@@ -1192,7 +1190,7 @@ blk_qc_t direct_make_request(struct bio *bio) · 5 unmodified lines
11921190 bio_io_error(bio);
11931191 return BLK_QC_T_NONE;
11941192 }
1195− if (!generic_make_request_checks(bio))
1193+ if (!submit_bio_checks(bio))
11961194 return BLK_QC_T_NONE;
11971195 if (unlikely(bio_queue_enter(bio)))
11981196 return BLK_QC_T_NONE;
@@ -1263,13 +1261,13 @@ blk_qc_t submit_bio(struct bio *bio) · 64 unmodified lines
12631261 blk_qc_t ret;
12641262
12651263 psi_memstall_enter(&pflags);
1266− ret = generic_make_request(bio);
1264+ ret = submit_bio_noacct(bio);
12671265 psi_memstall_leave(&pflags);
12681266
12691267 return ret;
12701268 }
12711269
1272− return generic_make_request(bio);
1270+ return submit_bio_noacct(bio);
12731271 }
12741272 EXPORT_SYMBOL(submit_bio);
12751273
block/blk-crypto-fallback.c+1−1
@@ -228,7 +228,7 @@ static bool blk_crypto_split_bio_if_needed(struct bio **bio_ptr) · 227 unmodified lines
228228 return false;
229229 }
230230 bio_chain(split_bio, bio);
231− generic_make_request(bio);
231+ submit_bio_noacct(bio);
232232 *bio_ptr = split_bio;
233233 }
234234
block/blk-crypto.c+1−1
@@ -239,7 +239,7 @@ void __blk_crypto_free_request(struct request *rq) · 238 unmodified lines
239239 * kernel crypto API. When the crypto API fallback is used for encryption,
240240 * blk-crypto may choose to split the bio into 2 - the first one that will
241241 * continue to be processed and the second one that will be resubmitted via
242− * generic_make_request. A bounce bio will be allocated to encrypt the contents
242+ * submit_bio_noacct. A bounce bio will be allocated to encrypt the contents
243243 * of the aforementioned "first one", and *bio_ptr will be updated to this
244244 * bounce bio.
245245 *
block/blk-merge.c+1−1
@@ -338,7 +338,7 @@ void __blk_queue_split(struct bio **bio, unsigned int *nr_segs) · 337 unmodified lines
338338
339339 bio_chain(split, *bio);
340340 trace_block_split(q, split, (*bio)->bi_iter.bi_sector);
341− generic_make_request(*bio);
341+ submit_bio_noacct(*bio);
342342 *bio = split;
343343 }
344344 }
block/blk-throttle.c+2−2
@@ -1339,8 +1339,8 @@ static void blk_throtl_dispatch_work_fn(struct work_struct *work) · 1338 unmodified lines
13391339
13401340 if (!bio_list_empty(&bio_list_on_stack)) {
13411341 blk_start_plug(&plug);
1342− while((bio = bio_list_pop(&bio_list_on_stack)))
1343− generic_make_request(bio);
1342+ while ((bio = bio_list_pop(&bio_list_on_stack)))
1343+ submit_bio_noacct(bio);
13441344 blk_finish_plug(&plug);
13451345 }
13461346 }
block/bounce.c+1−1
@@ -309,7 +309,7 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, · 308 unmodified lines
309309 if (!passthrough && sectors < bio_sectors(*bio_orig)) {
310310 bio = bio_split(*bio_orig, sectors, GFP_NOIO, &bounce_bio_split);
311311 bio_chain(bio, *bio_orig);
312− generic_make_request(*bio_orig);
312+ submit_bio_noacct(*bio_orig);
313313 *bio_orig = bio;
314314 }
315315 bio = bounce_clone_bio(*bio_orig, GFP_NOIO, passthrough ? NULL :
drivers/block/drbd/drbd_int.h+3−3
@@ -1576,12 +1576,12 @@ void drbd_set_my_capacity(struct drbd_device *device, sector_t size); · 1575 unmodified lines
15761576 /*
15771577 * used to submit our private bio
15781578 */
1579−static inline void drbd_generic_make_request(struct drbd_device *device,
1579+static inline void drbd_submit_bio_noacct(struct drbd_device *device,
15801580 int fault_type, struct bio *bio)
15811581 {
15821582 __release(local);
15831583 if (!bio->bi_disk) {
1584− drbd_err(device, "drbd_generic_make_request: bio->bi_disk == NULL\n");
1584+ drbd_err(device, "drbd_submit_bio_noacct: bio->bi_disk == NULL\n");
15851585 bio->bi_status = BLK_STS_IOERR;
15861586 bio_endio(bio);
15871587 return;
@@ -1590,7 +1590,7 @@ static inline void drbd_generic_make_request(struct drbd_device *device, · 2 unmodified lines
15901590 if (drbd_insert_fault(device, fault_type))
15911591 bio_io_error(bio);
15921592 else
1593− generic_make_request(bio);
1593+ submit_bio_noacct(bio);
15941594 }
15951595
15961596 void drbd_bump_write_ordering(struct drbd_resource *resource, struct drbd_backing_dev *bdev,
drivers/block/drbd/drbd_main.c+1−1
@@ -2325,7 +2325,7 @@ static void do_retry(struct work_struct *ws) · 2324 unmodified lines
23252325 * workqueues instead.
23262326 */
23272327
2328− /* We are not just doing generic_make_request(),
2328+ /* We are not just doing submit_bio_noacct(),
23292329 * as we want to keep the start_time information. */
23302330 inc_ap_bio(device);
23312331 __drbd_make_request(device, bio, start_jif);
drivers/block/drbd/drbd_receiver.c+1−1
@@ -1723,7 +1723,7 @@ next_bio: · 1722 unmodified lines
17231723 bios = bios->bi_next;
17241724 bio->bi_next = NULL;
17251725
1726− drbd_generic_make_request(device, fault_type, bio);
1726+ drbd_submit_bio_noacct(device, fault_type, bio);
17271727 } while (bios);
17281728 return 0;
17291729
drivers/block/drbd/drbd_req.c+1−1
@@ -1164,7 +1164,7 @@ drbd_submit_req_private_bio(struct drbd_request *req) · 1163 unmodified lines
11641164 else if (bio_op(bio) == REQ_OP_DISCARD)
11651165 drbd_process_discard_or_zeroes_req(req, EE_TRIM);
11661166 else
1167− generic_make_request(bio);
1167+ submit_bio_noacct(bio);
11681168 put_ldev(device);
11691169 } else
11701170 bio_io_error(bio);
drivers/block/drbd/drbd_worker.c+1−1
@@ -1525,7 +1525,7 @@ int w_restart_disk_io(struct drbd_work *w, int cancel) · 1524 unmodified lines
15251525
15261526 drbd_req_make_private_bio(req, req->master_bio);
15271527 bio_set_dev(req->private_bio, device->ldev->backing_bdev);
1528− generic_make_request(req->private_bio);
1528+ submit_bio_noacct(req->private_bio);
15291529
15301530 return 0;
15311531 }
drivers/block/pktcdvd.c+1−1
@@ -913,7 +913,7 @@ static void pkt_iosched_process_queue(struct pktcdvd_device *pd) · 912 unmodified lines
913913 }
914914
915915 atomic_inc(&pd->cdrw.pending_bios);
916− generic_make_request(bio);
916+ submit_bio_noacct(bio);
917917 }
918918 }
919919
drivers/lightnvm/pblk-read.c+1−1
@@ -320,7 +320,7 @@ split_retry: · 319 unmodified lines
320320 split_bio = bio_split(bio, nr_secs * NR_PHY_IN_LOG, GFP_KERNEL,
321321 &pblk_bio_set);
322322 bio_chain(split_bio, bio);
323− generic_make_request(bio);
323+ submit_bio_noacct(bio);
324324
325325 /* New bio contains first N sectors of the previous one, so
326326 * we can continue to use existing rqd, but we need to shrink
drivers/md/bcache/bcache.h+1−1
@@ -929,7 +929,7 @@ static inline void closure_bio_submit(struct cache_set *c, · 928 unmodified lines
929929 bio_endio(bio);
930930 return;
931931 }
932− generic_make_request(bio);
932+ submit_bio_noacct(bio);
933933 }
934934
935935 /*
drivers/md/bcache/btree.c+1−1
@@ -959,7 +959,7 @@ err: · 958 unmodified lines
959959 * bch_btree_node_get - find a btree node in the cache and lock it, reading it
960960 * in from disk if necessary.
961961 *
962− * If IO is necessary and running under generic_make_request, returns -EAGAIN.
962+ * If IO is necessary and running under submit_bio_noacct, returns -EAGAIN.
963963 *
964964 * The btree node will have either a read or a write lock held, depending on
965965 * level and op->lock.
drivers/md/bcache/request.c+3−4
@@ -1115,7 +1115,7 @@ static void detached_dev_do_request(struct bcache_device *d, struct bio *bio) · 1114 unmodified lines
11151115 !blk_queue_discard(bdev_get_queue(dc->bdev)))
11161116 bio->bi_end_io(bio);
11171117 else
1118− generic_make_request(bio);
1118+ submit_bio_noacct(bio);
11191119 }
11201120
11211121 static void quit_max_writeback_rate(struct cache_set *c,
@@ -1197,7 +1197,7 @@ blk_qc_t cached_dev_submit_bio(struct bio *bio) · 75 unmodified lines
11971197 if (!bio->bi_iter.bi_size) {
11981198 /*
11991199 * can't call bch_journal_meta from under
1200− * generic_make_request
1200+ * submit_bio_noacct
12011201 */
12021202 continue_at_nobarrier(&s->cl,
12031203 cached_dev_nodata,
@@ -1311,8 +1311,7 @@ blk_qc_t flash_dev_submit_bio(struct bio *bio) · 107 unmodified lines
13111311
13121312 if (!bio->bi_iter.bi_size) {
13131313 /*
1314− * can't call bch_journal_meta from under
1315− * generic_make_request
1314+ * can't call bch_journal_meta from under submit_bio_noacct
13161315 */
13171316 continue_at_nobarrier(&s->cl,
13181317 flash_dev_nodata,
drivers/md/dm-cache-target.c+3−3
@@ -886,7 +886,7 @@ static void accounted_complete(struct cache *cache, struct bio *bio) · 885 unmodified lines
886886 static void accounted_request(struct cache *cache, struct bio *bio)
887887 {
888888 accounted_begin(cache, bio);
889− generic_make_request(bio);
889+ submit_bio_noacct(bio);
890890 }
891891
892892 static void issue_op(struct bio *bio, void *context)
@@ -1792,7 +1792,7 @@ static bool process_bio(struct cache *cache, struct bio *bio) · 899 unmodified lines
17921792 bool commit_needed;
17931793
17941794 if (map_bio(cache, bio, get_bio_block(cache, bio), &commit_needed) == DM_MAPIO_REMAPPED)
1795− generic_make_request(bio);
1795+ submit_bio_noacct(bio);
17961796
17971797 return commit_needed;
17981798 }
@@ -1858,7 +1858,7 @@ static bool process_discard_bio(struct cache *cache, struct bio *bio) · 59 unmodified lines
18581858
18591859 if (cache->features.discard_passdown) {
18601860 remap_to_origin(cache, bio);
1861− generic_make_request(bio);
1861+ submit_bio_noacct(bio);
18621862 } else
18631863 bio_endio(bio);
18641864
drivers/md/dm-clone-target.c+5−5
@@ -330,7 +330,7 @@ static void submit_bios(struct bio_list *bios) · 329 unmodified lines
330330 blk_start_plug(&plug);
331331
332332 while ((bio = bio_list_pop(bios)))
333− generic_make_request(bio);
333+ submit_bio_noacct(bio);
334334
335335 blk_finish_plug(&plug);
336336 }
@@ -346,7 +346,7 @@ static void submit_bios(struct bio_list *bios) · 9 unmodified lines
346346 static void issue_bio(struct clone *clone, struct bio *bio)
347347 {
348348 if (!bio_triggers_commit(clone, bio)) {
349− generic_make_request(bio);
349+ submit_bio_noacct(bio);
350350 return;
351351 }
352352
@@ -473,7 +473,7 @@ static void complete_discard_bio(struct clone *clone, struct bio *bio, bool succ · 120 unmodified lines
473473 bio_region_range(clone, bio, &rs, &nr_regions);
474474 trim_bio(bio, region_to_sector(clone, rs),
475475 nr_regions << clone->region_shift);
476− generic_make_request(bio);
476+ submit_bio_noacct(bio);
477477 } else
478478 bio_endio(bio);
479479 }
@@ -865,7 +865,7 @@ static void hydration_overwrite(struct dm_clone_region_hydration *hd, struct bio · 385 unmodified lines
865865 bio->bi_private = hd;
866866
867867 atomic_inc(&hd->clone->hydrations_in_flight);
868− generic_make_request(bio);
868+ submit_bio_noacct(bio);
869869 }
870870
871871 /*
@@ -1281,7 +1281,7 @@ static void process_deferred_flush_bios(struct clone *clone) · 409 unmodified lines
12811281 */
12821282 bio_endio(bio);
12831283 } else {
1284− generic_make_request(bio);
1284+ submit_bio_noacct(bio);
12851285 }
12861286 }
12871287 }
drivers/md/dm-crypt.c+3−3
@@ -1789,7 +1789,7 @@ static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp) · 1788 unmodified lines
17891789 return 1;
17901790 }
17911791
1792− generic_make_request(clone);
1792+ submit_bio_noacct(clone);
17931793 return 0;
17941794 }
17951795
@@ -1815,7 +1815,7 @@ static void kcryptd_io_write(struct dm_crypt_io *io) · 19 unmodified lines
18151815 {
18161816 struct bio *clone = io->ctx.bio_out;
18171817
1818− generic_make_request(clone);
1818+ submit_bio_noacct(clone);
18191819 }
18201820
18211821 #define crypt_io_from_node(node) rb_entry((node), struct dm_crypt_io, rb_node)
@@ -1893,7 +1893,7 @@ static void kcryptd_crypt_write_io_submit(struct dm_crypt_io *io, int async) · 71 unmodified lines
18931893 clone->bi_iter.bi_sector = cc->start + io->sector;
18941894
18951895 if (likely(!async) && test_bit(DM_CRYPT_NO_OFFLOAD, &cc->flags)) {
1896− generic_make_request(clone);
1896+ submit_bio_noacct(clone);
18971897 return;
18981898 }
18991899
drivers/md/dm-delay.c+1−1
@@ -72,7 +72,7 @@ static void flush_bios(struct bio *bio) · 71 unmodified lines
7272 while (bio) {
7373 n = bio->bi_next;
7474 bio->bi_next = NULL;
75− generic_make_request(bio);
75+ submit_bio_noacct(bio);
7676 bio = n;
7777 }
7878 }
drivers/md/dm-era-target.c+1−1
@@ -1265,7 +1265,7 @@ static void process_deferred_bios(struct era *era) · 1264 unmodified lines
12651265 bio_io_error(bio);
12661266 else
12671267 while ((bio = bio_list_pop(&marked_bios)))
1268− generic_make_request(bio);
1268+ submit_bio_noacct(bio);
12691269 }
12701270
12711271 static void process_rpc_calls(struct era *era)
drivers/md/dm-integrity.c+2−2
@@ -2115,12 +2115,12 @@ offload_to_thread: · 2114 unmodified lines
21152115 dio->in_flight = (atomic_t)ATOMIC_INIT(1);
21162116 dio->completion = NULL;
21172117
2118− generic_make_request(bio);
2118+ submit_bio_noacct(bio);
21192119
21202120 return;
21212121 }
21222122
2123− generic_make_request(bio);
2123+ submit_bio_noacct(bio);
21242124
21252125 if (need_sync_io) {
21262126 wait_for_completion_io(&read_comp);
drivers/md/dm-mpath.c+1−1
@@ -677,7 +677,7 @@ static void process_queued_bios(struct work_struct *work) · 676 unmodified lines
677677 bio_endio(bio);
678678 break;
679679 case DM_MAPIO_REMAPPED:
680− generic_make_request(bio);
680+ submit_bio_noacct(bio);
681681 break;
682682 case DM_MAPIO_SUBMITTED:
683683 break;
drivers/md/dm-raid1.c+1−1
@@ -779,7 +779,7 @@ static void do_writes(struct mirror_set *ms, struct bio_list *writes) · 778 unmodified lines
779779 wakeup_mirrord(ms);
780780 } else {
781781 map_bio(get_default_mirror(ms), bio);
782− generic_make_request(bio);
782+ submit_bio_noacct(bio);
783783 }
784784 }
785785 }
drivers/md/dm-snap-persistent.c+1−1
@@ -252,7 +252,7 @@ static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, int op, · 251 unmodified lines
252252
253253 /*
254254 * Issue the synchronous I/O from a different thread
255− * to avoid generic_make_request recursion.
255+ * to avoid submit_bio_noacct recursion.
256256 */
257257 INIT_WORK_ONSTACK(&req.work, do_metadata);
258258 queue_work(ps->metadata_wq, &req.work);
drivers/md/dm-snap.c+3−3
@@ -1568,7 +1568,7 @@ static void flush_bios(struct bio *bio) · 1567 unmodified lines
15681568 while (bio) {
15691569 n = bio->bi_next;
15701570 bio->bi_next = NULL;
1571− generic_make_request(bio);
1571+ submit_bio_noacct(bio);
15721572 bio = n;
15731573 }
15741574 }
@@ -1588,7 +1588,7 @@ static void retry_origin_bios(struct dm_snapshot *s, struct bio *bio) · 13 unmodified lines
15881588 bio->bi_next = NULL;
15891589 r = do_origin(s->origin, bio, false);
15901590 if (r == DM_MAPIO_REMAPPED)
1591− generic_make_request(bio);
1591+ submit_bio_noacct(bio);
15921592 bio = n;
15931593 }
15941594 }
@@ -1829,7 +1829,7 @@ static void start_full_bio(struct dm_snap_pending_exception *pe, · 234 unmodified lines
18291829 bio->bi_end_io = full_bio_end_io;
18301830 bio->bi_private = callback_data;
18311831
1832− generic_make_request(bio);
1832+ submit_bio_noacct(bio);
18331833 }
18341834
18351835 static struct dm_snap_pending_exception *
drivers/md/dm-thin.c+2−2
@@ -758,7 +758,7 @@ static void issue(struct thin_c *tc, struct bio *bio) · 757 unmodified lines
758758 struct pool *pool = tc->pool;
759759
760760 if (!bio_triggers_commit(tc, bio)) {
761− generic_make_request(bio);
761+ submit_bio_noacct(bio);
762762 return;
763763 }
764764
@@ -2394,7 +2394,7 @@ static void process_deferred_bios(struct pool *pool) · 1629 unmodified lines
23942394 if (bio->bi_opf & REQ_PREFLUSH)
23952395 bio_endio(bio);
23962396 else
2397− generic_make_request(bio);
2397+ submit_bio_noacct(bio);
23982398 }
23992399 }
24002400
drivers/md/dm-verity-target.c+1−1
@@ -681,7 +681,7 @@ static int verity_map(struct dm_target *ti, struct bio *bio) · 680 unmodified lines
681681
682682 verity_submit_prefetch(v, io);
683683
684− generic_make_request(bio);
684+ submit_bio_noacct(bio);
685685
686686 return DM_MAPIO_SUBMITTED;
687687 }
drivers/md/dm-writecache.c+1−1
@@ -1238,7 +1238,7 @@ static int writecache_flush_thread(void *data) · 1237 unmodified lines
12381238 bio_end_sector(bio));
12391239 wc_unlock(wc);
12401240 bio_set_dev(bio, wc->dev->bdev);
1241− generic_make_request(bio);
1241+ submit_bio_noacct(bio);
12421242 } else {
12431243 writecache_flush(wc);
12441244 wc_unlock(wc);
drivers/md/dm-zoned-target.c+1−1
@@ -140,7 +140,7 @@ static int dmz_submit_bio(struct dmz_target *dmz, struct dm_zone *zone, · 139 unmodified lines
140140 bio_advance(bio, clone->bi_iter.bi_size);
141141
142142 refcount_inc(&bioctx->ref);
143− generic_make_request(clone);
143+ submit_bio_noacct(clone);
144144
145145 if (bio_op(bio) == REQ_OP_WRITE && dmz_is_seq(zone))
146146 zone->wp_block += nr_blocks;
drivers/md/dm.c+5−5
@@ -1305,7 +1305,7 @@ static blk_qc_t __map_bio(struct dm_target_io *tio) · 1304 unmodified lines
13051305 if (md->type == DM_TYPE_NVME_BIO_BASED)
13061306 ret = direct_make_request(clone);
13071307 else
1308− ret = generic_make_request(clone);
1308+ ret = submit_bio_noacct(clone);
13091309 break;
13101310 case DM_MAPIO_KILL:
13111311 free_tio(tio);
@@ -1652,7 +1652,7 @@ static blk_qc_t __split_and_process_bio(struct mapped_device *md, · 340 unmodified lines
16521652 error = __split_and_process_non_flush(&ci);
16531653 if (current->bio_list && ci.sector_count && !error) {
16541654 /*
1655− * Remainder must be passed to generic_make_request()
1655+ * Remainder must be passed to submit_bio_noacct()
16561656 * so that it gets handled *after* bios already submitted
16571657 * have been completely processed.
16581658 * We take a clone of the original to store in
@@ -1677,7 +1677,7 @@ static blk_qc_t __split_and_process_bio(struct mapped_device *md, · 18 unmodified lines
16771677
16781678 bio_chain(b, bio);
16791679 trace_block_split(md->queue, b, bio->bi_iter.bi_sector);
1680− ret = generic_make_request(bio);
1680+ ret = submit_bio_noacct(bio);
16811681 break;
16821682 }
16831683 }
@@ -1745,7 +1745,7 @@ static void dm_queue_split(struct mapped_device *md, struct dm_target *ti, struc · 61 unmodified lines
17451745
17461746 bio_chain(split, *bio);
17471747 trace_block_split(md->queue, split, (*bio)->bi_iter.bi_sector);
1748− generic_make_request(*bio);
1748+ submit_bio_noacct(*bio);
17491749 *bio = split;
17501750 }
17511751 }
@@ -2500,7 +2500,7 @@ static void dm_wq_work(struct work_struct *work) · 748 unmodified lines
25002500 break;
25012501
25022502 if (dm_request_based(md))
2503− (void) generic_make_request(c);
2503+ (void) submit_bio_noacct(c);
25042504 else
25052505 (void) dm_process_bio(md, map, c);
25062506 }
drivers/md/md-faulty.c+2−2
@@ -169,7 +169,7 @@ static bool faulty_make_request(struct mddev *mddev, struct bio *bio) · 168 unmodified lines
169169 if (bio_data_dir(bio) == WRITE) {
170170 /* write request */
171171 if (atomic_read(&conf->counters[WriteAll])) {
172− /* special case - don't decrement, don't generic_make_request,
172+ /* special case - don't decrement, don't submit_bio_noacct,
173173 * just fail immediately
174174 */
175175 bio_io_error(bio);
@@ -214,7 +214,7 @@ static bool faulty_make_request(struct mddev *mddev, struct bio *bio) · 38 unmodified lines
214214 } else
215215 bio_set_dev(bio, conf->rdev->bdev);
216216
217− generic_make_request(bio);
217+ submit_bio_noacct(bio);
218218 return true;
219219 }
220220
drivers/md/md-linear.c+2−2
@@ -267,7 +267,7 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio) · 266 unmodified lines
267267 struct bio *split = bio_split(bio, end_sector - bio_sector,
268268 GFP_NOIO, &mddev->bio_set);
269269 bio_chain(split, bio);
270− generic_make_request(bio);
270+ submit_bio_noacct(bio);
271271 bio = split;
272272 }
273273
@@ -286,7 +286,7 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio) · 12 unmodified lines
286286 bio_sector);
287287 mddev_check_writesame(mddev, bio);
288288 mddev_check_write_zeroes(mddev, bio);
289− generic_make_request(bio);
289+ submit_bio_noacct(bio);
290290 }
291291 return true;
292292
drivers/md/md-multipath.c+2−2
@@ -131,7 +131,7 @@ static bool multipath_make_request(struct mddev *mddev, struct bio * bio) · 130 unmodified lines
131131 mp_bh->bio.bi_private = mp_bh;
132132 mddev_check_writesame(mddev, &mp_bh->bio);
133133 mddev_check_write_zeroes(mddev, &mp_bh->bio);
134− generic_make_request(&mp_bh->bio);
134+ submit_bio_noacct(&mp_bh->bio);
135135 return true;
136136 }
137137
@@ -348,7 +348,7 @@ static void multipathd(struct md_thread *thread) · 210 unmodified lines
348348 bio->bi_opf |= REQ_FAILFAST_TRANSPORT;
349349 bio->bi_end_io = multipath_end_request;
350350 bio->bi_private = mp_bh;
351− generic_make_request(bio);
351+ submit_bio_noacct(bio);
352352 }
353353 }
354354 spin_unlock_irqrestore(&conf->device_lock, flags);
drivers/md/raid0.c+4−4
@@ -495,7 +495,7 @@ static void raid0_handle_discard(struct mddev *mddev, struct bio *bio) · 494 unmodified lines
495495 zone->zone_end - bio->bi_iter.bi_sector, GFP_NOIO,
496496 &mddev->bio_set);
497497 bio_chain(split, bio);
498− generic_make_request(bio);
498+ submit_bio_noacct(bio);
499499 bio = split;
500500 end = zone->zone_end;
501501 } else
@@ -559,7 +559,7 @@ static void raid0_handle_discard(struct mddev *mddev, struct bio *bio) · 57 unmodified lines
559559 trace_block_bio_remap(bdev_get_queue(rdev->bdev),
560560 discard_bio, disk_devt(mddev->gendisk),
561561 bio->bi_iter.bi_sector);
562− generic_make_request(discard_bio);
562+ submit_bio_noacct(discard_bio);
563563 }
564564 bio_endio(bio);
565565 }
@@ -600,7 +600,7 @@ static bool raid0_make_request(struct mddev *mddev, struct bio *bio) · 34 unmodified lines
600600 struct bio *split = bio_split(bio, sectors, GFP_NOIO,
601601 &mddev->bio_set);
602602 bio_chain(split, bio);
603− generic_make_request(bio);
603+ submit_bio_noacct(bio);
604604 bio = split;
605605 }
606606
@@ -633,7 +633,7 @@ static bool raid0_make_request(struct mddev *mddev, struct bio *bio) · 26 unmodified lines
633633 disk_devt(mddev->gendisk), bio_sector);
634634 mddev_check_writesame(mddev, bio);
635635 mddev_check_write_zeroes(mddev, bio);
636− generic_make_request(bio);
636+ submit_bio_noacct(bio);
637637 return true;
638638 }
639639
drivers/md/raid1.c+7−7
@@ -834,7 +834,7 @@ static void flush_bio_list(struct r1conf *conf, struct bio *bio) · 833 unmodified lines
834834 /* Just ignore it */
835835 bio_endio(bio);
836836 else
837− generic_make_request(bio);
837+ submit_bio_noacct(bio);
838838 bio = next;
839839 cond_resched();
840840 }
@@ -1312,7 +1312,7 @@ static void raid1_read_request(struct mddev *mddev, struct bio *bio, · 471 unmodified lines
13121312 struct bio *split = bio_split(bio, max_sectors,
13131313 gfp, &conf->bio_split);
13141314 bio_chain(split, bio);
1315− generic_make_request(bio);
1315+ submit_bio_noacct(bio);
13161316 bio = split;
13171317 r1_bio->master_bio = bio;
13181318 r1_bio->sectors = max_sectors;
@@ -1338,7 +1338,7 @@ static void raid1_read_request(struct mddev *mddev, struct bio *bio, · 19 unmodified lines
13381338 trace_block_bio_remap(read_bio->bi_disk->queue, read_bio,
13391339 disk_devt(mddev->gendisk), r1_bio->sector);
13401340
1341− generic_make_request(read_bio);
1341+ submit_bio_noacct(read_bio);
13421342 }
13431343
13441344 static void raid1_write_request(struct mddev *mddev, struct bio *bio,
@@ -1483,7 +1483,7 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio, · 138 unmodified lines
14831483 struct bio *split = bio_split(bio, max_sectors,
14841484 GFP_NOIO, &conf->bio_split);
14851485 bio_chain(split, bio);
1486− generic_make_request(bio);
1486+ submit_bio_noacct(bio);
14871487 bio = split;
14881488 r1_bio->master_bio = bio;
14891489 r1_bio->sectors = max_sectors;
@@ -2240,7 +2240,7 @@ static void sync_request_write(struct mddev *mddev, struct r1bio *r1_bio) · 750 unmodified lines
22402240 atomic_inc(&r1_bio->remaining);
22412241 md_sync_acct(conf->mirrors[i].rdev->bdev, bio_sectors(wbio));
22422242
2243− generic_make_request(wbio);
2243+ submit_bio_noacct(wbio);
22442244 }
22452245
22462246 put_sync_write_buf(r1_bio, 1);
@@ -2926,7 +2926,7 @@ static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr, · 679 unmodified lines
29262926 md_sync_acct_bio(bio, nr_sectors);
29272927 if (read_targets == 1)
29282928 bio->bi_opf &= ~MD_FAILFAST;
2929− generic_make_request(bio);
2929+ submit_bio_noacct(bio);
29302930 }
29312931 }
29322932 } else {
@@ -2935,7 +2935,7 @@ static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr, · 2 unmodified lines
29352935 md_sync_acct_bio(bio, nr_sectors);
29362936 if (read_targets == 1)
29372937 bio->bi_opf &= ~MD_FAILFAST;
2938− generic_make_request(bio);
2938+ submit_bio_noacct(bio);
29392939 }
29402940 return nr_sectors;
29412941 }
drivers/md/raid10.c+14−14
@@ -917,7 +917,7 @@ static void flush_pending_writes(struct r10conf *conf) · 916 unmodified lines
917917 /* Just ignore it */
918918 bio_endio(bio);
919919 else
920− generic_make_request(bio);
920+ submit_bio_noacct(bio);
921921 bio = next;
922922 }
923923 blk_finish_plug(&plug);
@@ -1102,7 +1102,7 @@ static void raid10_unplug(struct blk_plug_cb *cb, bool from_schedule) · 178 unmodified lines
11021102 /* Just ignore it */
11031103 bio_endio(bio);
11041104 else
1105− generic_make_request(bio);
1105+ submit_bio_noacct(bio);
11061106 bio = next;
11071107 }
11081108 kfree(plug);
@@ -1194,7 +1194,7 @@ static void raid10_read_request(struct mddev *mddev, struct bio *bio, · 85 unmodified lines
11941194 gfp, &conf->bio_split);
11951195 bio_chain(split, bio);
11961196 allow_barrier(conf);
1197− generic_make_request(bio);
1197+ submit_bio_noacct(bio);
11981198 wait_barrier(conf);
11991199 bio = split;
12001200 r10_bio->master_bio = bio;
@@ -1221,7 +1221,7 @@ static void raid10_read_request(struct mddev *mddev, struct bio *bio, · 20 unmodified lines
12211221 trace_block_bio_remap(read_bio->bi_disk->queue,
12221222 read_bio, disk_devt(mddev->gendisk),
12231223 r10_bio->sector);
1224− generic_make_request(read_bio);
1224+ submit_bio_noacct(read_bio);
12251225 return;
12261226 }
12271227
@@ -1479,7 +1479,7 @@ retry_write: · 251 unmodified lines
14791479 GFP_NOIO, &conf->bio_split);
14801480 bio_chain(split, bio);
14811481 allow_barrier(conf);
1482− generic_make_request(bio);
1482+ submit_bio_noacct(bio);
14831483 wait_barrier(conf);
14841484 bio = split;
14851485 r10_bio->master_bio = bio;
@@ -2099,7 +2099,7 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio) · 613 unmodified lines
20992099 tbio->bi_opf |= MD_FAILFAST;
21002100 tbio->bi_iter.bi_sector += conf->mirrors[d].rdev->data_offset;
21012101 bio_set_dev(tbio, conf->mirrors[d].rdev->bdev);
2102− generic_make_request(tbio);
2102+ submit_bio_noacct(tbio);
21032103 }
21042104
21052105 /* Now write out to any replacement devices
@@ -2118,7 +2118,7 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio) · 12 unmodified lines
21182118 atomic_inc(&r10_bio->remaining);
21192119 md_sync_acct(conf->mirrors[d].replacement->bdev,
21202120 bio_sectors(tbio));
2121− generic_make_request(tbio);
2121+ submit_bio_noacct(tbio);
21222122 }
21232123
21242124 done:
@@ -2241,7 +2241,7 @@ static void recovery_request_write(struct mddev *mddev, struct r10bio *r10_bio) · 116 unmodified lines
22412241 wbio = r10_bio->devs[1].bio;
22422242 wbio2 = r10_bio->devs[1].repl_bio;
22432243 /* Need to test wbio2->bi_end_io before we call
2244− * generic_make_request as if the former is NULL,
2244+ * submit_bio_noacct as if the former is NULL,
22452245 * the latter is free to free wbio2.
22462246 */
22472247 if (wbio2 && !wbio2->bi_end_io)
@@ -2249,13 +2249,13 @@ static void recovery_request_write(struct mddev *mddev, struct r10bio *r10_bio) · 1 unmodified line
22492249 if (wbio->bi_end_io) {
22502250 atomic_inc(&conf->mirrors[d].rdev->nr_pending);
22512251 md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(wbio));
2252− generic_make_request(wbio);
2252+ submit_bio_noacct(wbio);
22532253 }
22542254 if (wbio2) {
22552255 atomic_inc(&conf->mirrors[d].replacement->nr_pending);
22562256 md_sync_acct(conf->mirrors[d].replacement->bdev,
22572257 bio_sectors(wbio2));
2258− generic_make_request(wbio2);
2258+ submit_bio_noacct(wbio2);
22592259 }
22602260 }
22612261
@@ -2889,7 +2889,7 @@ static void raid10_set_cluster_sync_high(struct r10conf *conf) · 627 unmodified lines
28892889 * a number of r10_bio structures, one for each out-of-sync device.
28902890 * As we setup these structures, we collect all bio's together into a list
28912891 * which we then process collectively to add pages, and then process again
2892− * to pass to generic_make_request.
2892+ * to pass to submit_bio_noacct.
28932893 *
28942894 * The r10_bio structures are linked using a borrowed master_bio pointer.
28952895 * This link is counted in ->remaining. When the r10_bio that points to NULL
@@ -3496,7 +3496,7 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr, · 600 unmodified lines
34963496 if (bio->bi_end_io == end_sync_read) {
34973497 md_sync_acct_bio(bio, nr_sectors);
34983498 bio->bi_status = 0;
3499− generic_make_request(bio);
3499+ submit_bio_noacct(bio);
35003500 }
35013501 }
35023502
@@ -4654,7 +4654,7 @@ read_more: · 1151 unmodified lines
46544654 md_sync_acct_bio(read_bio, r10_bio->sectors);
46554655 atomic_inc(&r10_bio->remaining);
46564656 read_bio->bi_next = NULL;
4657− generic_make_request(read_bio);
4657+ submit_bio_noacct(read_bio);
46584658 sectors_done += nr_sectors;
46594659 if (sector_nr <= last)
46604660 goto read_more;
@@ -4717,7 +4717,7 @@ static void reshape_request_write(struct mddev *mddev, struct r10bio *r10_bio) · 56 unmodified lines
47174717 md_sync_acct_bio(b, r10_bio->sectors);
47184718 atomic_inc(&r10_bio->remaining);
47194719 b->bi_next = NULL;
4720− generic_make_request(b);
4720+ submit_bio_noacct(b);
47214721 }
47224722 end_reshape_request(r10_bio);
47234723 }
drivers/md/raid5.c+5−5
@@ -873,7 +873,7 @@ static void dispatch_bio_list(struct bio_list *tmp) · 872 unmodified lines
873873 struct bio *bio;
874874
875875 while ((bio = bio_list_pop(tmp)))
876− generic_make_request(bio);
876+ submit_bio_noacct(bio);
877877 }
878878
879879 static int cmp_stripe(void *priv, struct list_head *a, struct list_head *b)
@@ -1151,7 +1151,7 @@ again: · 271 unmodified lines
11511151 if (should_defer && op_is_write(op))
11521152 bio_list_add(&pending_bios, bi);
11531153 else
1154− generic_make_request(bi);
1154+ submit_bio_noacct(bi);
11551155 }
11561156 if (rrdev) {
11571157 if (s->syncing || s->expanding || s->expanded
@@ -1201,7 +1201,7 @@ again: · 43 unmodified lines
12011201 if (should_defer && op_is_write(op))
12021202 bio_list_add(&pending_bios, rbi);
12031203 else
1204− generic_make_request(rbi);
1204+ submit_bio_noacct(rbi);
12051205 }
12061206 if (!rdev && !rrdev) {
12071207 if (op_is_write(op))
@@ -5289,7 +5289,7 @@ static int raid5_read_one_chunk(struct mddev *mddev, struct bio *raid_bio) · 4081 unmodified lines
52895289 trace_block_bio_remap(align_bi->bi_disk->queue,
52905290 align_bi, disk_devt(mddev->gendisk),
52915291 raid_bio->bi_iter.bi_sector);
5292− generic_make_request(align_bi);
5292+ submit_bio_noacct(align_bi);
52935293 return 1;
52945294 } else {
52955295 rcu_read_unlock();
@@ -5309,7 +5309,7 @@ static struct bio *chunk_aligned_read(struct mddev *mddev, struct bio *raid_bio) · 13 unmodified lines
53095309 struct r5conf *conf = mddev->private;
53105310 split = bio_split(raid_bio, sectors, GFP_NOIO, &conf->bio_split);
53115311 bio_chain(split, raid_bio);
5312− generic_make_request(raid_bio);
5312+ submit_bio_noacct(raid_bio);
53135313 raid_bio = split;
53145314 }
53155315
drivers/nvme/host/multipath.c+1−1
@@ -351,7 +351,7 @@ static void nvme_requeue_work(struct work_struct *work) · 350 unmodified lines
351351 * path.
352352 */
353353 bio->bi_disk = head->disk;
354− generic_make_request(bio);
354+ submit_bio_noacct(bio);
355355 }
356356 }
357357
include/linux/blkdev.h+1−1
@@ -852,7 +852,7 @@ static inline void rq_flush_dcache_pages(struct request *rq) · 851 unmodified lines
852852
853853 extern int blk_register_queue(struct gendisk *disk);
854854 extern void blk_unregister_queue(struct gendisk *disk);
855−extern blk_qc_t generic_make_request(struct bio *bio);
855+blk_qc_t submit_bio_noacct(struct bio *bio);
856856 extern blk_qc_t direct_make_request(struct bio *bio);
857857 extern void blk_rq_init(struct request_queue *q, struct request *rq);
858858 extern void blk_put_request(struct request *);