aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-flush.c
AgeCommit message (Expand)AuthorFilesLines
2024-05-01block: Fix flush request sector restoreDamien Le Moal1-1/+2
2024-04-17block: Restore sector of flush requestsDamien Le Moal1-0/+1
2024-02-05block: add blk_time_get_ns() and blk_time_get() helpersJens Axboe1-1/+1
2023-09-22blk-mq: remove RQF_MQ_INFLIGHTChengming Zhou1-9/+2
2023-07-17blk-flush: reuse rq queuelist in flush state machineChengming Zhou1-7/+10
2023-07-17blk-flush: count inflight flush_data requestsChengming Zhou1-4/+5
2023-07-17blk-flush: fix rq->flush.seq for post-flush requestsChengming Zhou1-1/+1
2023-07-14block: queue data commands from the flush state machine at the headChristoph Hellwig1-1/+1
2023-05-19blk-mq: don't use the requeue list to queue flush commandsChristoph Hellwig1-2/+7
2023-05-19blk-mq: do not do head insertions post-pre-flush commandsChristoph Hellwig1-1/+1
2023-05-19blk-mq: defer to the normal submission path for post-flush requestsChristoph Hellwig1-0/+11
2023-05-19blk-mq: defer to the normal submission path for non-flush flush commandsChristoph Hellwig1-14/+8
2023-05-19blk-mq: reflow blk_insert_flushChristoph Hellwig1-27/+26
2023-05-19blk-mq: factor out a blk_rq_init_flush helperChristoph Hellwig1-7/+10
2023-04-16blk-mq: fix the blk_mq_add_to_requeue_list call in blk_kick_flushChristoph Hellwig1-1/+1
2023-04-13blk-mq: pass a flags argument to blk_mq_add_to_requeue_listChristoph Hellwig1-2/+2
2023-04-13blk-mq: pass a flags argument to blk_mq_request_bypass_insertChristoph Hellwig1-1/+1
2023-04-13blk-mq: don't kick the requeue_list in blk_mq_add_to_requeue_listChristoph Hellwig1-2/+4
2023-04-13blk-mq: don't run the hw_queue from blk_mq_request_bypass_insertChristoph Hellwig1-1/+3
2023-04-13blk-mq: remove blk_flush_queue_rqChristoph Hellwig1-7/+2
2023-04-13blk-mq: include <linux/blk-mq.h> in block/blk-mq.hChristoph Hellwig1-1/+0
2023-04-13blk-mq: remove blk-mq-tag.hChristoph Hellwig1-1/+0
2022-09-30block: change request end_io handler to pass back a return valueJens Axboe1-3/+7
2022-09-30block: kill deprecated BUG_ON() in the flush handlingJens Axboe1-1/+0
2022-07-14block: Use the new blk_opf_t typeBart Van Assche1-3/+3
2022-02-02block: pass a block_device and opf to bio_initChristoph Hellwig1-3/+1
2021-12-03block: switch to atomic_t for request referencesJens Axboe1-2/+2
2021-11-29block: Fix fsync always failed if once failedYe Bin1-1/+3
2021-11-29block: remove the ->rq_disk field in struct requestChristoph Hellwig1-2/+1
2021-11-29block: don't include <linux/part_stat.h> in blk.hChristoph Hellwig1-0/+1
2021-11-29block: move blk_get_flush_queue to blk-flush.cChristoph Hellwig1-0/+6
2021-11-19blk-mq: don't insert FUA request with data into scheduler queueMing Lei1-6/+6
2021-10-19blk-mq: don't handle non-flush requests in blk_insert_flushChristoph Hellwig1-6/+6
2021-08-17blk-mq: fix is_flush_rqMing Lei1-0/+5
2021-08-17blk-mq: fix kernel panic during iterating over flush requestMing Lei1-0/+8
2021-05-24block: avoid double io accounting for flush requestMing Lei1-2/+1
2021-01-27block: use an on-stack bio in blkdev_issue_flushChristoph Hellwig1-11/+6
2020-12-16Merge tag 'for-5.11/block-2020-12-14' of git://git.kernel.dk/linux-blockLinus Torvalds1-6/+26
2020-12-07Revert "block: Fix a lockdep complaint triggered by request queue flushing"Ming Lei1-5/+0
2020-12-07blk-mq: add new API of blk_mq_hctx_set_fq_lock_classMing Lei1-0/+25
2020-12-01block: switch partition lookup to use struct block_deviceChristoph Hellwig1-1/+1
2020-12-01block: allocate struct hd_struct as part of struct bdev_inodeChristoph Hellwig1-1/+1
2020-11-13block: mark flush request as IDLE when it is really finishedMing Lei1-1/+6
2020-10-30blk-mq: mark flush request as IDLE in flush_end_io()Ming Lei1-0/+1
2020-08-11block: fix double account of flush request's driver tagMing Lei1-2/+9
2020-07-17block: defer flush request no matter whether we have elevatorYufen Yu1-7/+2
2020-07-08blk-mq: centralise related handling into blk_mq_get_driver_tagMing Lei1-10/+4
2020-07-01Revert "blk-mq: put driver tag when this request is completed"Jens Axboe1-6/+17
2020-06-30blk-mq: centralise related handling into blk_mq_get_driver_tagMing Lei1-11/+6
2020-06-29blk-mq: put driver tag when this request is completedMing Lei1-6/+0
2020-05-22block: remove the disk and queue NULL checks in blkdev_issue_flushChristoph Hellwig1-8/+0
2020-05-22block: remove the error_sector argument to blkdev_issue_flushChristoph Hellwig1-15/+2
2020-05-19block: Remove unused flush_queue_delayed in struct blk_flush_queueBaolin Wang1-1/+0
2020-03-27Revert "blkdev: check for valid request queue before issuing flush"Christoph Hellwig1-9/+0
2020-03-12block: cleanup comment for blk_flush_complete_seqGuoqing Jiang1-3/+0
2020-03-12block: remove unneeded argument from blk_alloc_flush_queueGuoqing Jiang1-2/+2
2020-02-24blk-mq: insert passthrough request into hctx->dispatch directlyMing Lei1-1/+1
2019-12-20block: Fix a lockdep complaint triggered by request queue flushingBart Van Assche1-0/+5
2019-11-21block: add iostat counters for flush requestsKonstantin Khlebnikov1-1/+14
2019-09-27block: fix null pointer dereference in blk_mq_rq_timed_out()Yufen Yu1-0/+10
2019-04-30block: switch all files cleared marked as GPLv2 to SPDX tagsChristoph Hellwig1-2/+1
2019-03-24blk-mq: use blk_mq_put_driver_tag() to put tagYufen Yu1-2/+2
2019-01-30blk-mq: fix a hung issue when fsyncJianchao Wang1-1/+1
2018-11-16block: add queue_is_mq() helperJens Axboe1-2/+1
2018-11-15block: update a few comments for the legacy request removalChristoph Hellwig1-2/+2
2018-11-07blk-mq: cache request hardware queue mappingJens Axboe1-8/+4
2018-11-07blk-mq: pass in request/bio flags to queue mappingJens Axboe1-3/+4
2018-11-07block: cleanup kick/queued handlingJens Axboe1-16/+10
2018-11-07block: remove non mq parts from the flush codeJens Axboe1-124/+30
2018-10-13blk-mq: change gfp flags to GFP_NOIO in blk_mq_realloc_hw_ctxsJianchao Wang1-3/+3
2018-06-09block: fix use-after-free in block flush handlingJens Axboe1-1/+3
2018-06-06block: pass failfast and driver-specific flags to flush requestsHannes Reinecke1-3/+6
2017-11-04blk-mq: don't allocate driver tag upfront for flush rqMing Lei1-9/+26
2017-11-04blk-flush: use blk_mq_request_bypass_insert()Ming Lei1-1/+1
2017-11-04blk-flush: don't run queue for requests bypassing flushMing Lei1-1/+1
2017-08-25block: update comments to reflect REQ_FLUSH -> REQ_PREFLUSH renameOmar Sandoval1-12/+12
2017-08-23block: replace bi_bdev with a gendisk pointer and partitions indexChristoph Hellwig1-1/+1
2017-06-20block: Check locking assumptions at runtimeBart Van Assche1-3/+5
2017-06-09block: introduce new block status code typeChristoph Hellwig1-4/+4
2017-04-19block: make __blk_end_bidi_request privateChristoph Hellwig1-1/+1
2017-03-24block: remove outdated part of blkdev_issue_flush() commentEric Biggers1-2/+1
2017-02-17block: don't defer flushes on blk-mq + schedulingJens Axboe1-1/+7
2017-01-31block: fold cmd_type into the REQ_OP_ spaceChristoph Hellwig1-1/+0
2017-01-27block: allow specifying size for extra command dataChristoph Hellwig1-3/+2
2017-01-27blk-mq-sched: add flush insertion into blk_mq_sched_insert_request()Jens Axboe1-1/+1
2017-01-17blk-mq-sched: add framework for MQ capable IO schedulersJens Axboe1-5/+7
2016-12-13Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-11/+16
2016-12-09blk-flush: run the queue when inserting blk-mq flushJens Axboe1-1/+1
2016-11-08block: set REQ_SYNC if we clear REQ_FUA|REQ_PREFLUSHJens Axboe1-0/+7
2016-11-02blk-mq: Add a kick_requeue_list argument to blk_mq_requeue_request()Bart Van Assche1-4/+1
2016-11-01block,fs: use REQ_* flags directlyChristoph Hellwig1-2/+2
2016-10-28block: better op and flags encodingChristoph Hellwig1-1/+1
2016-10-28block: split out request-only flags into a new namespaceChristoph Hellwig1-4/+5
2016-10-26block: flush: fix IO hang in case of flood fua reqMing Lei1-0/+28
2016-09-15blk-mq: remove ->map_queueChristoph Hellwig1-3/+3
2016-06-07block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSHMike Christie1-8/+8
2016-06-07block, drivers: add REQ_OP_FLUSH operationMike Christie1-2/+2
2016-06-07block, fs, mm, drivers: use bio set/get op accessorsMike Christie1-1/+1
2016-06-07block/fs/drivers: remove rw argument from submit_bioMike Christie1-1/+2
2016-04-13block: kill off q->flush_flagsJens Axboe1-5/+6
2015-11-25Revert "blk-flush: Queue through IO scheduler when flush not required"Jens Axboe1-1/+1
2015-11-16blk-flush: Queue through IO scheduler when flush not requiredJan Kara1-1/+1
2015-08-15blk-mq: fix race between timeout and freeing requestMing Lei1-1/+14
2014-09-25blk-mq: support per-distpatch_queue flush machineryMing Lei1-7/+14
2014-09-25block: introduce 'blk_mq_ctx' parameter to blk_get_flush_queueMing Lei1-6/+5
2014-09-25block: flush: avoid to figure out flush queue unnecessarilyMing Lei1-14/+16
2014-09-25block: remove blk_init_flush() and its pairMing Lei1-17/+2
2014-09-25block: introduce blk_flush_queue to drive flush machineryMing Lei1-41/+68
2014-09-25block: avoid to use q->flush_rq directlyMing Lei1-8/+9
2014-09-25block: move flush initialization to blk_flush_initMing Lei1-0/+4
2014-09-25block: introduce blk_init_flush and its pairMing Lei1-1/+18
2014-09-25blk-mq: allocate flush_rq in blk_mq_init_flush()Ming Lei1-1/+10
2014-09-22blk-mq: remove unnecessary blk_clear_rq_complete()Ming Lei1-2/+0
2014-09-22blk-mq: rename blk_mq_end_io to blk_mq_end_requestChristoph Hellwig1-2/+2
2014-06-11block: remove elv_abort_queue and blk_abort_flushesChristoph Hellwig1-38/+0
2014-06-04block: mq flush: clear flush_rq's tag in flush_end_io()Ming Lei1-1/+1
2014-05-30blk-mq: blk_mq_tag_to_rq should handle flush requestShaohua Li1-1/+3
2014-05-28blk-mq: add helper to insert requests from irq contextChristoph Hellwig1-12/+4
2014-04-16blk-mq: rename mq_flush_work struct request memberChristoph Hellwig1-3/+3
2014-04-15blk-mq: make ->flush_rq fully transparent to driversChristoph Hellwig1-10/+2
2014-04-15blk-mq: do not initialize req->specialChristoph Hellwig1-8/+2
2014-04-09block: remove 'q' parameter from kblockd_schedule_*_work()Jens Axboe1-1/+1
2014-03-08block: change flush sequence list addition back to front addMike Snitzer1-4/+7
2014-02-21blk-mq: merge blk_mq_insert_request and blk_mq_run_requestChristoph Hellwig1-2/+2
2014-02-10blk-mq: rework flush sequencing logicChristoph Hellwig1-67/+38
2014-01-30blk-mq: Don't reserve a tag for flush requestShaohua Li1-3/+5
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-1/+1
2013-11-23block: submit_bio_wait() conversionsKent Overstreet1-18/+1
2013-10-28blk-mq: fix for flush deadlockChristoph Hellwig1-1/+1
2013-10-25blk-mq: new multi-queue block IO queueing mechanismJens Axboe1-15/+139
2013-03-22Block: blk-flush: Fixed indent code styleAlice Ferrazzi1-1/+1
2013-02-15block: account iowait time when waiting for completion of IO requestVladimir Davydov1-1/+1
2011-10-24blk-flush: move the queue kick intoJeff Moyer1-1/+0
2011-10-24blk-flush: fix invalid BUG_ON in blk_insert_flushJeff Moyer1-1/+1
2011-08-15block: fix flush machinery for stacking drivers with differring flush flagsJeff Moyer1-4/+16
2011-08-09allow blk_flush_policy to return REQ_FSEQ_DATA independent of *FLUSHJeff Moyer1-2/+3
2011-05-06block: hold queue if flush is running for non-queueable flush driveshaohua.li@intel.com1-5/+11
2011-04-18block: add blk_run_queue_asyncChristoph Hellwig1-2/+2
2011-04-05block: make the flush insertion use the tail of the dispatch listJens Axboe1-2/+2
2011-04-05block: get rid of elv_insert() interfaceJens Axboe1-2/+2
2011-03-10Merge branch 'for-2.6.39/stack-plug' into for-2.6.39/coreJens Axboe1-4/+2
2011-03-10block: remove per-queue pluggingJens Axboe1-2/+1
2011-03-10block: initial patch for on-stack per-task pluggingJens Axboe1-2/+1
2011-03-04Merge branch 'for-linus' of ../linux-2.6-block into block-for-2.6.39/coreTejun Heo1-5/+13
2011-03-02block: blk-flush shouldn't call directly into q->request_fn() __blk_run_queue()Tejun Heo1-3/+5
2011-03-02block: add @force_kblockd to __blk_run_queue()Tejun Heo1-1/+1
2011-01-25block: reimplement FLUSH/FUA to support mergeTejun Heo1-136/+304
2011-01-25block: add REQ_FLUSH_SEQTejun Heo1-0/+1
2010-09-16block: remove BLKDEV_IFL_WAITChristoph Hellwig1-14/+11
2010-09-10block: use REQ_FLUSH in blkdev_issue_flush()Tejun Heo1-11/+6
2010-09-10block: make sure FSEQ_DATA request has the same rq_disk as the originalTejun Heo1-0/+7
2010-09-10block: kick queue after sequencing REQ_FLUSH/FUATejun Heo1-3/+19
2010-09-10block: initialize flush request with WRITE_FLUSH instead of REQ_FLUSHTejun Heo1-1/+1
2010-09-10block: simplify queue_next_fseqChristoph Hellwig1-16/+10
2010-09-10block: implement REQ_FLUSH/FUA based interface for FLUSH/FUA requestsTejun Heo1-39/+46
2010-09-10block: rename barrier/ordered to flushTejun Heo1-50/+48
2010-09-10block: rename blk-barrier.c to blk-flush.cTejun Heo1-0/+248