aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-merge.c
AgeCommit message (Expand)AuthorFilesLines
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
2017-01-17block: move existing elevator ops to unionJens Axboe1-2/+2
2016-12-09block: improve handling of the magic discard payloadChristoph Hellwig1-36/+17
2016-12-01block: factor out req_set_nomergeRitesh Harjani1-9/+10
2016-12-01block: add support for REQ_OP_WRITE_ZEROESChaitanya Kulkarni1-4/+13
2016-10-28block: split out request-only flags into a new namespaceChristoph Hellwig1-4/+4
2016-08-24block: make sure a big bio is split into at most 256 bvecsMing Lei1-0/+22
2016-08-16block: Fix secure eraseAdrian Hunter1-14/+19
2016-08-07block: rename bio bi_rw to bi_opfJens Axboe1-4/+4
2016-07-26Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-blockLinus Torvalds1-4/+2
2016-07-20block: Fix front merge checkDamien Le Moal1-3/+3
2016-07-20block: do not merge requests without consulting with io schedulerTahsin Erdogan1-0/+6
2016-06-09block: add a separate operation type for secure eraseChristoph Hellwig1-4/+2
2016-06-07block: convert merge/insert code to check for REQ_OPs.Mike Christie1-4/+6
2016-06-07block, fs, mm, drivers: use bio set/get op accessorsMike Christie1-6/+6
2016-06-07block, drivers, cgroup: use op_is_write helper instead of checking for REQ_WRITEMike Christie1-1/+1
2016-03-03block: merge: get the 1st and last bvec via helpersMing Lei1-6/+2
2016-01-22block: fix bio splitting on max sectorsMing Lei1-7/+19
2016-01-19Merge branch 'for-4.5/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+19
2016-01-12block: split bios to max possible lengthKeith Busch1-3/+16
2016-01-08Revert "block: Split bios on chunk boundaries"Jens Axboe1-1/+1
2015-12-22block: Split bios on chunk boundariesKeith Busch1-1/+1
2015-12-03block: add call to split trace pointMike Krinkin1-0/+3
2015-11-30blk-merge: fix computing bio->bi_seg_front_size in case of single segmentMing Lei1-0/+3
2015-11-23blk-merge: warn if figured out segment number is bigger than nr_phys_segmentsMing Lei1-0/+6
2015-11-23blk-merge: fix blk_bio_segment_splitMing Lei1-3/+19
2015-11-23block: fix segment splitMing Lei1-2/+2
2015-10-21block: avoid to merge splitted bioMing Lei1-0/+3
2015-10-21block: setup bi_phys_segments after splittingMing Lei1-7/+22
2015-09-17block: blk-merge: fast-clone bio when splitting rw biosMing Lei1-15/+4
2015-09-11block: Refuse request/bio merges with gaps in the integrity payloadSagi Grimberg1-0/+6
2015-09-03block: Check for gaps on front and back mergesJens Axboe1-13/+6
2015-09-02block: fix bogus compiler warnings in blk-merge.cJens Axboe1-8/+7
2015-09-02Merge branch 'for-4.3/sg' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2015-09-01blk: Fix bio_io_vec index when checking bvec gapsKeith Busch1-1/+1
2015-08-19block: Replace SG_GAPS with new queue limits maskKeith Busch1-16/+7
2015-08-17scatterlist: remove open coded sg_unmark_end instancesDan Williams1-1/+1
2015-08-13block: kill merge_bvec_fn() completelyKent Overstreet1-14/+3
2015-08-13block: make generic_make_request handle arbitrarily sized biosKent Overstreet1-10/+149
2015-07-29block: manipulate bio->bi_flags through helpersJens Axboe1-1/+1
2015-05-29block: only honor SG gap prevention for merges that contain dataJens Axboe1-1/+2
2015-03-20Fix bug in blk_rq_merge_okWenbo Wang1-1/+1
2015-02-11block: remove unused function blk_bio_map_sgChristoph Hellwig1-29/+0
2015-02-11block: prevent request-to-request merging with gaps if not allowedKeith Busch1-0/+12
2014-11-11block: blk-merge: fix blk_recount_segments()Ming Lei1-8/+11
2014-10-21blk-merge: recaculate segment if it isn't less than max segmentsMing Lei1-2/+3
2014-10-09blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bioMing Lei1-2/+6
2014-09-27block: Don't merge requests if integrity flags differMartin K. Petersen1-3/+3
2014-09-02blk-merge: fix blk_recount_segmentsMing Lei1-6/+11
2014-06-24block: add support for limiting gaps in SG listsJens Axboe1-0/+10
2014-05-29block: add queue flag for disabling SG mergingJens Axboe1-7/+21
2014-02-07block: Explicitly handle discard/write same segmentsKent Overstreet1-29/+62
2013-12-03block: Really silence spurious compiler warningsKent Overstreet1-9/+3
2013-11-26block: Silence spurious compiler warningsKent Overstreet1-0/+6
2013-11-23block: Kill bio_iovec_idx(), __bio_iovec()Kent Overstreet1-2/+11
2013-11-23block: Convert bio_for_each_segment() to bvec_iterKent Overstreet1-26/+23
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-2/+2
2013-10-29blk-mq: don't disallow request merges for req->special being setJens Axboe1-3/+14
2013-03-20scatterlist: introduce sg_unmark_endPaolo Bonzini1-1/+1
2012-09-20block: Implement support for WRITE SAMEMartin K. Petersen1-0/+9
2012-09-20block: Consolidate command flag and queue limit checks for mergesMartin K. Petersen1-18/+12
2012-09-20block: Clean up special command handling logicMartin K. Petersen1-21/+1
2012-08-02block: Add blk_bio_map_sg() helperAsias He1-0/+37
2012-08-02block: Introduce __blk_segment_map_sg() helperAsias He1-35/+45
2012-02-08block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator funct...Tejun Heo1-0/+37
2011-03-21block: attempt to merge with existing requests on plug flushJens Axboe1-0/+6
2011-01-13Merge branch 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds1-1/+2
2011-01-07block: add internal hd part table referencesJens Axboe1-1/+1
2011-01-05block: fix accounting bug on cross partition mergesJerome Marchand1-1/+2
2010-12-17block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits insteadMartin K. Petersen1-3/+3
2010-10-24Revert "block: fix accounting bug on cross partition merges"Jens Axboe1-1/+1
2010-10-22Merge branch 'for-2.6.37/core' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds1-10/+15
2010-10-19block: fix accounting bug on cross partition mergesYasuaki Ishimatsu1-1/+1
2010-09-25block: prevent merges of discard and write requestsAdrian Hunter1-0/+12
2010-09-10block/scsi: Provide a limit on the number of integrity segmentsMartin K. Petersen1-9/+14
2010-08-07gcc-4.6: block: fix unused but set variables in blk-mergeAndi Kleen1-2/+1
2010-08-07block: unify flags for struct bio and struct requestChristoph Hellwig1-1/+1
2010-08-07block: remove wrappers for request type/flagsChristoph Hellwig1-2/+2
2010-02-26block: Consolidate phys_segment and hw_segment limitsMartin K. Petersen1-6/+2
2009-10-06block: Seperate read and write statistics of in_flight requests v2Nikanth Karthikesan1-1/+1
2009-10-04Revert "Seperate read and write statistics of in_flight requests"Jens Axboe1-1/+1
2009-09-14Seperate read and write statistics of in_flight requestsNikanth Karthikesan1-1/+1
2009-09-11scsi,block: update SCSI to handle mixed merge failuresTejun Heo1-6/+0
2009-09-11block: implement mixed merge of different failfast requestsTejun Heo1-0/+43
2009-07-03block: don't merge requests of different failfast settingsTejun Heo1-0/+6
2009-05-22block: Use accessor functions for queue limitsMartin K. Petersen1-13/+14
2009-05-11block: hide request sector and data_lenTejun Heo1-1/+1
2009-05-11block: drop request->hard_* and *nr_sectorsTejun Heo1-32/+4
2009-05-11block: convert to pos and nr_sectors accessorsTejun Heo1-5/+5
2009-04-24block: simplify I/O stat accountingJerome Marchand1-1/+4
2009-04-07block: fix inconsistency in I/O stat accounting codeJerome Marchand1-12/+17
2009-03-26block: WARN in __blk_put_request() for potential bio leakBoaz Harrosh1-0/+2
2009-03-06block: fix missing bio back/front segment size setting in blk_recount_segments()Jens Axboe1-16/+9
2009-02-26block: reduce stack footprint of blk_recount_segments()Jens Axboe1-41/+53
2008-11-06block: remove unused ll_new_mergeable()FUJITA Tomonori1-21/+0
2008-10-17block: fix nr_phys_segments miscalculation bugFUJITA Tomonori1-2/+18
2008-10-09block: inherit CPU completion on bio->rq and rq->rq mergesJens Axboe1-0/+2
2008-10-09block: move stats from disk to part0Tejun Heo1-8/+4