aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-merge.c
AgeCommit message (Expand)AuthorFilesLines
2025-03-26Merge tag 'for-6.15/block-20250322' of git://git.kernel.dk/linuxLinus Torvalds1-2/+2
2025-03-13block: remove unused parameter 'q' parameter in __blk_rq_map_sg()Anuj Gupta1-2/+2
2025-02-25block: make segment size limit workable for > 4K PAGE_SIZEMing Lei1-1/+1
2025-02-17block: fix NULL pointer dereferenced within __blk_rq_map_sgMing Lei1-1/+4
2025-02-14block/merge: remove unnecessary min() with UINT_MAXCaleb Sander Mateos1-1/+1
2025-01-06block: add a dma mapping iteratorChristoph Hellwig1-106/+69
2024-11-19block: req->bio is always set in the merge codeChristoph Hellwig1-22/+8
2024-11-19block: don't bother checking the data direction for mergesChristoph Hellwig1-7/+0
2024-11-13block: add a rq_list typeChristoph Hellwig1-1/+1
2024-11-12block: remove the ioprio field from struct requestChristoph Hellwig1-6/+4
2024-11-12block: remove the write_hint field from struct requestChristoph Hellwig1-6/+10
2024-11-11block: pre-calculate max_zone_append_sectorsChristoph Hellwig1-2/+1
2024-11-11block: fix bio_split_rw_at to take zone_write_granularity into accountChristoph Hellwig1-1/+9
2024-11-11block: take chunk_sectors into account in bio_split_write_zeroesChristoph Hellwig1-12/+23
2024-11-11block: Handle bio_split() errors in bio_submit_split()John Garry1-5/+10
2024-11-07Revert "block: pre-calculate max_zone_append_sectors"Jens Axboe1-1/+2
2024-11-04block: pre-calculate max_zone_append_sectorsChristoph Hellwig1-2/+1
2024-10-29block: add a bdev_limits helperChristoph Hellwig1-2/+1
2024-10-22block: kill blk_do_io_stat() helperJens Axboe1-7/+6
2024-09-13blk-integrity: properly account for segmentsKeith Busch1-0/+4
2024-08-29block: properly handle REQ_OP_ZONE_APPEND in __bio_split_to_limitsChristoph Hellwig1-0/+20
2024-08-29block: rework bio splittingChristoph Hellwig1-90/+56
2024-07-09block: take offset into account in blk_bvec_map_sg againChristoph Hellwig1-2/+2
2024-07-09block: fix get_max_segment_size() warningChaitanya Kulkarni1-1/+1
2024-07-08block: pass a phys_addr_t to get_max_segment_sizeChristoph Hellwig1-14/+11
2024-06-20block: Add core atomic write supportJohn Garry1-4/+46
2024-06-20block: Generalize chunk_sectors support as boundary supportJohn Garry1-6/+14
2024-06-20block: Pass blk_queue_get_max_sectors() a request pointerJohn Garry1-1/+2
2024-05-09block: support to account io_ticks preciselyYu Kuai1-0/+2
2024-04-17block: Do not special-case plugging of zone write operationsDamien Le Moal1-2/+1
2024-04-17block: Introduce zone write pluggingDamien Le Moal1-0/+12
2024-04-17block: Allow using bio_attempt_back_merge() internallyDamien Le Moal1-7/+1
2024-03-26block: Make blk_rq_set_mixed_merge() staticJohn Garry1-1/+1
2024-02-06block, fs: Restore the per-bio/request data lifetime fieldsBart Van Assche1-0/+8
2023-12-29block: remove two comments in bio_split_discardChristoph Hellwig1-5/+1
2023-03-16blk-mq: release crypto keyslot before reporting I/O completeEric Biggers1-0/+2
2023-03-03Merge tag 'block-6.3-2023-03-03' of git://git.kernel.dk/linuxLinus Torvalds1-7/+0
2023-03-02blk-mq: enforce op-specific segment limits in blk_insert_cloned_requestUday Shankar1-7/+0
2023-02-20Merge tag 'for-6.3/block-2023-02-16' of git://git.kernel.dk/linuxLinus Torvalds1-2/+33
2023-02-16block: use proper return value from bio_failfast()Jens Axboe1-1/+1
2023-02-16block: sync mixed merged request's failfast with 1st bio'sMing Lei1-2/+33
2023-02-15block: export bio_split_rwChristoph Hellwig1-1/+2
2023-01-04block: don't allow splitting of a REQ_NOWAIT bioJens Axboe1-0/+10
2023-01-04block: handle bio_split_to_limits() NULL returnJens Axboe1-1/+3
2022-10-25block: Micro-optimize get_max_segment_size()Bart Van Assche1-4/+11
2022-10-25block: Constify most queue limits pointersBart Van Assche1-13/+16
2022-08-02block: pass struct queue_limits to the bio splitting helpersChristoph Hellwig1-57/+50
2022-08-02block: move bio_allowed_max_sectors to blk-merge.cChristoph Hellwig1-0/+10
2022-08-02block: move the call to get_max_io_size out of blk_bio_segment_splitChristoph Hellwig1-4/+5
2022-08-02block: move ->bio_split to the gendiskChristoph Hellwig1-3/+4
2022-08-02block: change the blk_queue_split calling conventionChristoph Hellwig1-50/+48
2022-08-02Merge tag 'for-5.20/block-2022-07-29' of git://git.kernel.dk/linux-blockLinus Torvalds1-33/+46
2022-07-14block: Use the new blk_opf_t typeBart Van Assche1-3/+3
2022-07-14block: Change the type of req_op() and bio_op() into enum req_opBart Van Assche1-0/+2
2022-07-14block: fix missing blkcg_bio_issue_initMuchun Song1-0/+1
2022-07-06block: simplify blk_mq_plugChristoph Hellwig1-1/+1
2022-06-27block: fold blk_max_size_offset into get_max_io_sizeChristoph Hellwig1-2/+7
2022-06-27block: cleanup variable naming in get_max_io_sizeChristoph Hellwig1-9/+7
2022-06-27block: open code blk_max_size_offset in blk_rq_get_max_sectorsChristoph Hellwig1-4/+5
2022-06-27block/merge: count bytes instead of sectorsKeith Busch1-17/+24
2022-03-26Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-14/+0
2022-03-24Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-40/+0
2022-03-14block: don't merge across cgroup boundaries if blkcg is enabledTejun Heo1-0/+11
2022-03-11block: ensure plug merging checks the correct queue at least onceJens Axboe1-6/+14
2022-03-07block: remove the per-bio/request write hintChristoph Hellwig1-14/+0
2022-02-22scsi: block: Remove REQ_OP_WRITE_SAME supportChristoph Hellwig1-40/+0
2022-02-16block: throttle split bio in case of iops limitMing Lei1-2/+0
2021-11-29block: don't check ->rq_disk in mergesChristoph Hellwig1-6/+1
2021-11-29block: don't include <linux/part_stat.h> in blk.hChristoph Hellwig1-0/+1
2021-11-29block: don't include blk-mq-sched.h in blk.hChristoph Hellwig1-0/+1
2021-11-29blk-mq: simplify the plug handling in blk_mq_submit_bioChristoph Hellwig1-8/+1
2021-11-03blk-mq: only try to run plug merge if request has same queue with incoming bioMing Lei1-2/+4
2021-10-20block: convert leftovers to bdev_get_queuePavel Begunkov1-1/+1
2021-10-19block: change plugging to use a singly linked listJens Axboe1-2/+2
2021-10-19block: return whether or not to unplug through booleanJens Axboe1-6/+5
2021-10-18block: handle fast path of bio splitting inlineJens Axboe1-18/+6
2021-10-18block: rename REQ_HIPRI to REQ_POLLEDChristoph Hellwig1-2/+1
2021-10-18block: only check previous entry for plug merge attemptJens Axboe1-23/+13
2021-10-18block: move bio_get_{first,last}_bvec out of bio.hChristoph Hellwig1-0/+31
2021-10-18block: move blk-throtl fast path inlineJens Axboe1-0/+1
2021-10-18block: move integrity handling out of <linux/blkdev.h>Christoph Hellwig1-0/+1
2021-10-18block: move a few merge helpers out of <linux/blkdev.h>Christoph Hellwig1-0/+24
2021-08-30Merge tag 'io_uring-bio-cache.5-2021-08-30' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2021-08-23block: provide bio_clear_hipri() helperJens Axboe1-1/+1
2021-08-14blk-throtl: optimize IOPS throttle for large IO scenariosChunguang Xu1-0/+2
2021-08-09block: return ELEVATOR_DISCARD_MERGE if possibleMing Lei1-16/+0
2021-06-29block: fix discard request mergeMing Lei1-2/+6
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara1-11/+8
2021-03-23block: recalculate segment count for multi-segment discards correctlyDavid Jeffery1-0/+8
2021-01-24block: store a block_device pointer in struct bioChristoph Hellwig1-9/+8
2020-12-16Merge tag 'for-5.11/block-2020-12-14' of git://git.kernel.dk/linux-blockLinus Torvalds1-6/+12
2020-12-07block: disable iopoll for split bioJeffle Xu1-0/+8
2020-12-04dm: fix IO splittingMike Snitzer1-1/+1
2020-12-04block: remove the request_queue to argument request based tracepointsChristoph Hellwig1-1/+1
2020-12-04block: remove the request_queue argument to the block_split tracepointChristoph Hellwig1-1/+1
2020-12-04block: simplify and extend the block_bio_merge tracepoint classChristoph Hellwig1-2/+2
2020-12-01block: allocate struct hd_struct as part of struct bdev_inodeChristoph Hellwig1-2/+0
2020-10-06block: move blk_mq_sched_try_merge to blk-merge.cChristoph Hellwig1-12/+50
2020-09-01block: Remove a duplicative conditionBaolin Wang1-4/+2
2020-09-01block: Add a new helper to attempt to merge a bioBaolin Wang1-51/+53
2020-09-01block: Move blk_mq_bio_list_merge() into blk-merge.cBaolin Wang1-0/+44
2020-09-01block: Move bio merge related functions into blk-merge.cBaolin Wang1-0/+157
2020-08-21block: fix get_max_io_size()Keith Busch1-1/+1
2020-08-17block: respect queue limit of max discard segmentMing Lei1-2/+9
2020-08-04Merge tag 'uninit-macro-v5.9-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+1
2020-07-16treewide: Remove uninitialized_var() usageKees Cook1-1/+1
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-1/+1
2020-07-01block: remove the request_queue argument from blk_queue_splitChristoph Hellwig1-11/+10
2020-06-25blktrace: Provide event for request mergingJan Kara1-0/+2
2020-05-27block: reduce part_stat_lock() scopeChristoph Hellwig1-1/+2
2020-05-27block: account merge of two requestsKonstantin Khlebnikov1-7/+5
2020-05-19block: don't call part_{inc,dec}_in_flight for blk-mq devicesChristoph Hellwig1-2/+0
2020-05-14block: Inline encryption support for blk-mqSatya Tangirala1-0/+11
2020-04-29block: replace BIO_QUEUE_ENTERED with BIO_CGROUP_ACCTChristoph Hellwig1-10/+0
2020-04-22block: move dma_pad handling from blk_rq_map_sg into the callersChristoph Hellwig1-8/+0
2020-04-22block: move dma drain handling to scsiChristoph Hellwig1-14/+0
2020-04-22block: provide a blk_rq_map_sg variant that returns the last elementChristoph Hellwig1-13/+12
2020-04-22block: remove RQF_COPY_USERChristoph Hellwig1-2/+1
2020-01-14block: fix get_max_segment_size() overflow on 32bit archMing Lei1-2/+7
2019-12-30block: fix splitting segments on boundary masksMing Lei1-9/+9
2019-11-21Revert "block: split bio if the only bvec's length is > SZ_4K"Jens Axboe1-1/+1
2019-11-08block: split bio if the only bvec's length is > SZ_4KMing Lei1-1/+1
2019-11-08block: still try to split bio if the bvec crosses pagesMing Lei1-1/+2
2019-11-04block: avoid blk_bio_segment_split for small I/O operationsChristoph Hellwig1-1/+15
2019-08-04block: Improve physical block alignment of split biosBart Van Assche1-4/+17
2019-08-04block: Simplify blk_bio_segment_split()Bart Van Assche1-35/+33
2019-08-04block: Simplify bvec_split_segs()Bart Van Assche1-9/+7
2019-08-04block: Document the bio splitting functionsBart Van Assche1-0/+43
2019-08-04block: Declare several function pointer arguments 'const'Bart Van Assche1-3/+4
2019-07-03block: nr_phys_segments needs to be zero for REQ_OP_WRITE_ZEROESChristoph Hellwig1-1/+1
2019-06-20block: untangle the end of blk_bio_segment_splitChristoph Hellwig1-11/+3
2019-06-20block: simplify blk_recalc_rq_segmentsChristoph Hellwig1-15/+6
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-48/+27
2019-05-23block: remove the bi_seg_{front,back}_size fields in struct bioChristoph Hellwig1-82/+12
2019-05-23block: remove the segment size check in bio_will_gapChristoph Hellwig1-18/+1
2019-05-23block: don't decrement nr_phys_segments for physically contigous segmentsChristoph Hellwig1-22/+1
2019-04-22block: avoid scatterlist offsets > PAGE_SIZEChristoph Hellwig1-1/+13
2019-04-12block: rewrite blk_bvec_map_sg to avoid a nth_page callChristoph Hellwig1-15/+6
2019-04-08block: fix build warning in merging bvecsMing Lei1-6/+10
2019-04-01block: don't check if adjacent bvecs in one bio can be mergeableMing Lei1-27/+42
2019-04-01block: reuse __blk_bvec_map_sg() for mapping page sized bvecMing Lei1-11/+9
2019-04-01block: remove argument of 'request_queue' from __blk_bvec_map_sgMing Lei1-3/+3
2019-04-01block: don't merge adjacent bvecs to one segment in bio blk_queue_splitMing Lei1-17/+0
2019-03-06block: fix segment calculation for passthrough IOMing Lei1-7/+8
2019-03-02block: fix updating bio's front segment sizeMing Lei1-0/+8
2019-02-27block: optimize blk_bio_segment_split for single-page bvecMing Lei1-3/+9
2019-02-27block: optimize __blk_segment_map_sg() for single-page bvecMing Lei1-2/+7
2019-02-27block: introduce bvec_nth_page()Ming Lei1-1/+1
2019-02-19block: avoid to READ fields of null bioMing Lei1-1/+3
2019-02-15block: kill QUEUE_FLAG_NO_SG_MERGEMing Lei1-25/+6
2019-02-15block: use bio_for_each_bvec() to map sgMing Lei1-20/+50
2019-02-15block: use bio_for_each_bvec() to compute multi-page bvec countMing Lei1-20/+83
2019-02-15block: don't use bio->bi_vcnt to figure out segment numberMing Lei1-7/+1
2019-01-27Revert "block: cover another queue enter recursion via BIO_QUEUE_ENTERED"Jens Axboe1-0/+10
2019-01-22block: cover another queue enter recursion via BIO_QUEUE_ENTEREDMing Lei1-10/+0
2018-12-28Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-11/+7
2018-12-18scsi: block: remove the cluster flagChristoph Hellwig1-11/+7
2018-12-14block: remove the blk_recount_segments exportChristoph Hellwig1-1/+0
2018-12-10block: delete part_round_stats and switch to less precise countingMikulas Patocka1-1/+0
2018-12-10block: stop passing 'cpu' to all percpu stats methodsMike Snitzer1-3/+2
2018-12-04Merge tag 'v4.20-rc5' into for-4.21/blockJens Axboe1-1/+1
2018-11-30block: fix single range discard mergeMing Lei1-1/+1
2018-11-19block: prevent merging of requests with different prioritiesDamien Le Moal1-2/+6
2018-11-18Merge tag 'v4.20-rc3' into for-4.21/blockJens Axboe1-2/+3
2018-11-14block: make blk_try_req_merge() staticEric Biggers1-1/+2
2018-11-09block: make sure discard bio is aligned with logical block sizeMing Lei1-1/+2
2018-11-07block: kill request ->cpu memberJens Axboe1-2/+0
2018-11-07blk-merge: kill dead queue lock held checkJens Axboe1-3/+0
2018-11-07block: remove req_no_special_merge() from merging codeJens Axboe1-22/+3
2018-11-07block: remove __blk_put_request()Jens Axboe1-1/+1
2018-11-07block: remove dead elevator codeJens Axboe1-5/+0
2018-11-07block: respect virtual boundary mask in bvecsJohannes Thumshirn1-1/+1
2018-10-29block: fix the DISCARD request mergeJianchao Wang1-10/+36
2018-09-24block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeableChristoph Hellwig1-24/+5
2018-09-24block: simplify BIOVEC_PHYS_MERGEABLEChristoph Hellwig1-5/+5
2018-09-24block: move req_gap_{back,front}_merge to blk-merge.cChristoph Hellwig1-0/+65
2018-06-02block: don't use blocking queue entered for recursive bio submitsJens Axboe1-0/+10
2018-05-30block: convert bounce, q->bio_split to bioset_init()/mempool_init()Kent Overstreet1-4/+4
2018-05-09block: consolidate struct request timestamp fieldsOmar Sandoval1-6/+5
2018-02-01blk-mq: fix discard merge with scheduler attachedJens Axboe1-3/+26
2018-01-09Revert "block: blk-merge: try to make front segments in full size"Ming Lei1-49/+5
2018-01-06block: blk-merge: remove unnecessary checkMing Lei1-3/+1
2018-01-06block: blk-merge: try to make front segments in full sizeMing Lei1-5/+49
2018-01-06blk-merge: compute bio->bi_seg_front_size efficientlyMing Lei1-4/+5
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-08-23block: replace bi_bdev with a gendisk pointer and partitions indexChristoph Hellwig1-1/+1
2017-08-09block: pass in queue to inflight accountingJens Axboe1-2/+2
2017-06-27block: add support for write hints in a bioJens Axboe1-0/+14
2017-06-20block: Check locking assumptions at runtimeBart Van Assche1-0/+3
2017-06-18block: don't check for BIO_MAX_PAGES in blk_bio_segment_split()NeilBrown1-16/+0
2017-06-18block: remove bio_clone() and all references.NeilBrown1-3/+3
2017-06-18block: Improvements to bounce-buffer handlingNeilBrown1-10/+4
2017-06-18blk: remove bio_set arg from blk_queue_split()NeilBrown1-5/+4
2017-04-08block: implement splitting of REQ_OP_WRITE_ZEROES biosChristoph Hellwig1-2/+15
2017-02-08block: optionally merge discontiguous discard bios into a single requestChristoph Hellwig1-1/+4
2017-02-08block: enumify ELEVATOR_*_MERGEChristoph Hellwig1-1/+1
2017-02-08block: move req_set_nomerge to blk.hChristoph Hellwig1-7/+0
2017-02-03block: free merged request in the callerJens Axboe1-3/+12
2017-02-03blk-merge: return the merged requestJens Axboe1-15/+16
2017-01-17blk-mq-sched: add framework for MQ capable IO schedulersJens Axboe1-1/+1