aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-mpath.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-01dm: use bio_list_merge_initChristoph Hellwig1-2/+1
2024-02-20dm: update relevant MODULE_AUTHOR entries to latest dm-devel mailing listMike Snitzer1-1/+1
2023-04-11dm: push error reporting down to dm_register_target()Yangtao Li1-4/+1
2023-02-14dm: update targets using system workqueues to use a local workqueueTetsuo Handa1-4/+13
2023-02-14dm: avoid 'do {} while(0)' loop in single statement macrosHeinz Mauelshagen1-3/+1
2023-02-14dm: avoid using symbolic permissionsHeinz Mauelshagen1-2/+1
2023-02-14dm: prefer '"%s...", __func__'Heinz Mauelshagen1-7/+7
2023-02-14dm: add missing empty linesHeinz Mauelshagen1-0/+3
2023-02-14dm: fix undue/missing spacesHeinz Mauelshagen1-1/+1
2023-02-14dm: correct block comments format.Heinz Mauelshagen1-13/+20
2023-02-14dm: address space issues relative to switch/while/for/...Heinz Mauelshagen1-1/+1
2023-02-14dm: change "unsigned" to "unsigned int"Heinz Mauelshagen1-23/+23
2023-02-14dm: add missing SPDX-License-IndentifiersHeinz Mauelshagen1-0/+1
2022-05-09dm mpath: provide high-resolution timer to HST for bio-basedGabriel Krisman Bertazi1-1/+7
2022-03-24Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-1/+0
2022-03-02dm mpath: use DMINFO instead of printk with KERN_INFOMike Snitzer1-2/+1
2022-03-02dm: stop using bdevnameChristoph Hellwig1-4/+2
2022-02-22scsi: dm: Remove WRITE_SAME supportChristoph Hellwig1-1/+0
2021-11-29block: remove the ->rq_disk field in struct requestChristoph Hellwig1-1/+0
2021-11-01Merge tag 'for-5.16/passthrough-flag-2021-10-29' of git://git.kernel.dk/linux...Linus Torvalds1-2/+2
2021-10-29block: remove blk_{get,put}_requestChristoph Hellwig1-2/+2
2021-10-18dm: use bdev_nr_sectors and bdev_nr_bytes instead of open coding themChristoph Hellwig1-1/+1
2021-08-20dm ima: update dm target attributes for ima measurementsTushar Sugandhi1-8/+18
2021-08-10dm: update target status functions to support IMA measurementTushar Sugandhi1-0/+28
2020-09-29dm: use dm_table_get_device_name() where appropriate in targetsMike Snitzer1-9/+7
2020-09-01dm mpath: fix racey management of PG initializationMike Snitzer1-7/+15
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-1/+1
2020-08-07Merge tag 'for-5.9/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-48/+98
2020-07-13dm mpath: use double checked locking in fast pathMike Snitzer1-9/+23
2020-07-13dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctlMike Snitzer1-6/+6
2020-07-13dm mpath: rework __map_bio()Mike Snitzer1-14/+19
2020-07-13dm mpath: factor out multipath_queue_bioMike Snitzer1-12/+14
2020-07-13dm mpath: push locking down to must_push_back_rq()Mike Snitzer1-11/+14
2020-07-13dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATHMike Snitzer1-18/+34
2020-07-13dm mpath: changes from initial m->flags locking auditMike Snitzer1-3/+13
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-1/+1
2020-06-05dm mpath: add DM device name to Failing/Reinstating path log messagesMike Snitzer1-2/+6
2020-06-05dm mpath: enhance queue_if_no_path debuggingMike Snitzer1-7/+23
2020-06-05dm mpath: restrict queue_if_no_path state machineMike Snitzer1-10/+28
2020-06-05dm mpath: simplify __must_push_backMike Snitzer1-23/+5
2020-05-20dm: use DMDEBUG macros now that they use pr_debug variantsMike Snitzer1-6/+6
2020-05-15dm mpath: pass IO start time to path selectorGabriel Krisman Bertazi1-3/+6
2020-05-15dm mpath: switch paths in dm_blk_ioctl() code pathMartin Wilck1-1/+1
2020-04-28dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpathGabriel Krisman Bertazi1-2/+4
2020-03-03dm: bump version of core and various targetsMike Snitzer1-1/+1
2020-01-14dm mpath: Add timeout mechanism for queue_if_no_pathAnatol Pomazau1-0/+66
2020-01-07dm mpath: use true/false for bool variablezhengbin1-1/+1
2019-11-26dm mpath: remove harmful bio-based optimizationMike Snitzer1-36/+1
2019-04-30dm mpath: always free attached_handler_name in parse_path()Martin Wilck1-1/+1
2019-04-25dm mpath: fix missing call of path selector type->end_ioYufen Yu1-1/+16
2018-12-18dm mpath: only flush workqueue when neededwuzhouhui1-2/+4
2018-10-11dm: rename DM_TYPE_MQ_REQUEST_BASED to DM_TYPE_REQUEST_BASEDMike Snitzer1-9/+5
2018-10-11dm: remove legacy request-based IO pathJens Axboe1-12/+2
2018-09-17dm mpath: fix attached_handler_name leak and dangling hw_handler_name pointerMike Snitzer1-6/+8
2018-05-14block: sanitize blk_get_request calling conventionsChristoph Hellwig1-1/+2
2018-04-04dm: remove fmode_t argument from .prepare_ioctl hookMike Snitzer1-2/+1
2018-04-03dm mpath: use DM_MAPIO_SUBMITTED instead of magic number 0 in process_queued_...Wang Sheng-Hui1-1/+1
2018-04-03dm: allow targets to return output from messages they are sentMike Snitzer1-1/+2
2018-03-29dm mpath: fix support for loading scsi_dh modules during table loadMike Snitzer1-1/+1
2018-03-14dm mpath: fix passing integrity dataSteffen Maier1-2/+3
2018-03-13dm mpath: eliminate need to use scsi_device_from_queueMike Snitzer1-9/+8
2018-03-13dm mpath: fix uninitialized 'pg_init_wait' waitqueue_head NULL pointerMike Snitzer1-11/+10
2018-03-06dm mpath: remove unnecessary NVMe branching in favor of scsi_dh checksMike Snitzer1-37/+29
2018-01-31Merge tag 'for-4.16/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-110/+187
2018-01-29dm mpath: delay the retry of a request if the target responded as busyMike Snitzer1-1/+4
2018-01-17dm mpath: return DM_MAPIO_DELAY_REQUEUE if QUEUE_IO or PG_INIT_REQUIREDMing Lei1-3/+2
2018-01-17dm mpath: return DM_MAPIO_REQUEUE on blk-mq rq allocation failureMing Lei1-1/+13
2018-01-17dm: backfill missing calls to mutex_destroy()Mike Snitzer1-0/+1
2018-01-10dm mpath: Use blk_path_errorKeith Busch1-17/+2
2018-01-06dm mpath: factor out SCSI vs NVMe path selectionMike Snitzer1-13/+55
2018-01-06dm mpath: optimize NVMe bio-based supportMike Snitzer1-76/+95
2018-01-04dm mpath: implement NVMe bio-based supportMike Snitzer1-9/+21
2018-01-03dm mpath: move dm_bio_restore out of endio methodMike Snitzer1-4/+3
2017-12-20dm mpath: optimize retrieval of bio_details from per-bio-dataMike Snitzer1-5/+3
2017-12-20dm mpath: remove unnecessary memset() calls for per-io-dataMike Snitzer1-10/+6
2017-12-20dm mpath: remove unused param from multipath_init_per_bio_data()Mike Snitzer1-6/+2
2017-12-08dm mpath: fix bio-based multipath queue_if_no_path handlingMike Snitzer1-7/+42
2017-12-04dm: fix various targets to dm_register_target after module __init resources c...monty_pavel@sina.com1-9/+9
2017-11-17Merge tag 'for-4.15/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-2/+0
2017-11-16dm mpath: remove annoying message of 'blk_get_request() returned -11'Ming Lei1-2/+0
2017-11-14Merge tag 'gpio-v4.15-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-15/+7
2017-10-24locking/barriers: Convert users of lockless_dereference() to READ_ONCE()Will Deacon1-10/+10
2017-10-19bitops: Introduce assign_bit()Lukas Wunner1-15/+7
2017-09-14Merge tag 'for-4.14/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-5/+10
2017-09-07Merge branch 'for-4.14/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2017-08-28dm: constify argument arraysEric Biggers1-5/+5
2017-08-28dm mpath: complain about unsupported __multipath_map_bio() return valuesBart Van Assche1-0/+4
2017-08-28dm mpath: avoid that building with W=1 causes gcc 7 to complain about fall-th...Bart Van Assche1-0/+1
2017-08-28dm mpath: do not lock up a CPU with requeuing activityBart Van Assche1-1/+0
2017-08-28dm mpath: retry BLK_STS_RESOURCE errorsBart Van Assche1-1/+0
2017-08-23block: replace bi_bdev with a gendisk pointer and partitions indexChristoph Hellwig1-1/+1
2017-06-14dm: missing break in process_queued_bios()Dan Carpenter1-0/+1
2017-06-09block: switch bios to blk_status_tChristoph Hellwig1-7/+8
2017-06-09block: introduce new block status code typeChristoph Hellwig1-17/+10
2017-06-09dm: change ->end_io calling conventionChristoph Hellwig1-5/+6
2017-06-09dm: don't return errnos from ->mapChristoph Hellwig1-3/+10
2017-06-09dm mpath: merge do_end_io_bio into multipath_end_io_bioChristoph Hellwig1-27/+15
2017-05-15dm mpath: multipath_clone_and_map must not return -EIOChristoph Hellwig1-1/+1
2017-05-15dm mpath: don't return -EIO from dm_report_EIOChristoph Hellwig1-8/+11
2017-05-01dm rq: change ->rq_end_io calling conventionsChristoph Hellwig1-4/+9
2017-05-01dm mpath: merge do_end_io into multipath_end_ioChristoph Hellwig1-34/+17
2017-05-01Merge branch 'dm-4.12' into dm-4.12-post-mergeMike Snitzer1-93/+78
2017-04-27dm mpath: make it easier to detect unintended I/O request flushesBart Van Assche1-4/+21
2017-04-27dm mpath: cleanup QUEUE_IF_NO_PATH bit manipulation by introducing assign_bit()Bart Van Assche1-21/+15
2017-04-27dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATHBart Van Assche1-59/+11
2017-04-27dm: introduce enum dm_queue_mode to cleanup related codeBart Van Assche1-1/+4
2017-04-27dm mpath: verify __pg_init_all_paths locking assumptions at runtimeBart Van Assche1-0/+2
2017-04-27dm mpath: delay requeuing while path initialization is in progressBart Van Assche1-3/+7
2017-04-27dm mpath: avoid that path removal can trigger an infinite loopBart Van Assche1-4/+11
2017-04-27dm mpath: split and rename activate_path() to prepare for its expanded useBart Van Assche1-5/+12
2017-04-24dm mpath: requeue after a small delay if blk_get_request() failsBart Van Assche1-3/+2
2017-04-20dm mpath: don't check for req->errorsChristoph Hellwig1-1/+1
2017-04-08dm: support REQ_OP_WRITE_ZEROESChristoph Hellwig1-0/+1
2017-02-17Merge branch 'for-4.11/next' into for-4.11/linus-mergeJens Axboe1-112/+20
2017-02-03dm mpath: cleanup -Wbool-operation warning in choose_pgpath()Mike Snitzer1-2/+2
2017-01-27dm: always defer request allocation to the owner of the request_queueChristoph Hellwig1-112/+20
2016-12-08dm mpath: use hw_handler_params if attached hw_handler is same as requestedtang.junhui1-5/+9
2016-11-21dm mpath: do not modify *__clone if blk_mq_alloc_request() failsBart Van Assche1-7/+8
2016-11-21dm mpath: change return type of pg_init_all_paths() from int to voidBart Van Assche1-5/+2
2016-11-21dm mpath: add checks for priority group count to avoid invalid memory accesstang.junhui1-2/+2
2016-11-21dm mpath: add m->hw_handler_name NULL pointer check in parse_hw_handler()tang.junhui1-0/+2
2016-09-29dm mpath: always return reservation conflict without failing overHannes Reinecke1-6/+8
2016-09-15dm mpath: delay the requeue of blk-mq requests while all paths downMike Snitzer1-6/+9
2016-09-15dm mpath: use dm_mq_kick_requeue_list()Mike Snitzer1-6/+8
2016-09-14dm: convert wait loops to use autoremove_wake_function()Bart Van Assche1-7/+3
2016-09-14dm mpath: check if path's request_queue is dying in activate_path()Mike Snitzer1-3/+3
2016-08-07block: rename bio bi_rw to bi_opfJens Axboe1-1/+1
2016-08-02dm mpath: add locking to multipath_resume and must_push_backMike Snitzer1-4/+20
2016-06-10dm mpath: add optional "queue_mode" featureMike Snitzer1-69/+80
2016-06-10dm mpath: remove bio-based bloat from struct dm_mpath_ioMike Snitzer1-12/+31
2016-06-10dm mpath: reinstate bio-based supportMike Snitzer1-22/+274
2016-06-10dm: move request-based code out to dm-rq.[hc]Mike Snitzer1-2/+2
2016-05-05dm mpath: eliminate use of spinlock in IO fast-pathsMike Snitzer1-77/+93
2016-05-05dm mpath: move trigger_event member to the end of 'struct multipath'Mike Snitzer1-2/+1
2016-05-05dm mpath: use atomic_t for counting members of 'struct multipath'Mike Snitzer1-28/+33
2016-05-05dm mpath: switch to using bitops for state flagsMike Snitzer1-56/+75
2016-03-10dm mpath: cleanup reinstate_path() et al based on code reviewMike Snitzer1-6/+2
2016-02-22dm mpath: remove __pgpath_busy forward declaration, rename to pgpath_busyMike Snitzer1-4/+2
2016-02-22dm mpath: switch from 'unsigned' to 'bool' for flags where appropriateMike Snitzer1-50/+51
2016-02-22dm path selector: remove 'repeat_count' return from .select_path hookMike Snitzer1-2/+1
2016-02-22dm mpath: remove repeat_count support from multipath coreMike Snitzer1-4/+3
2016-02-22dm mpath: remove unnecessary casts in front of ti->privateMike Snitzer1-5/+5
2016-02-22dm mpath: use blk_mq_alloc_request() and blk_mq_free_request() directlyMike Snitzer1-3/+4
2016-02-22dm mpath: cleanup 'struct dm_mpath_io' management codeMike Snitzer1-12/+17
2016-02-22dm mpath: use blk-mq pdu for per-request 'struct dm_mpath_io'Mike Snitzer1-10/+29
2016-02-22dm: distinquish old .request_fn (dm-old) vs dm-mq request-based DMMike Snitzer1-1/+5
2016-02-22dm: remove support for stacking dm-mq on .request_fn device(s)Mike Snitzer1-1/+4
2016-02-22dm: optimize dm_mq_queue_rq()Mike Snitzer1-1/+2
2015-11-17dm mpath: fix infinite recursion in ioctl when no paths and !queue_if_no_pathJunichi Nomura1-13/+15
2015-11-17dm: fix ioctl retry termination with signalJunichi Nomura1-1/+1
2015-10-31dm: add support for passing through persistent reservationsChristoph Hellwig1-1/+1
2015-10-31dm: refactor ioctl handlingChristoph Hellwig1-17/+12
2015-10-31Revert "dm mpath: fix stalls when handling invalid ioctls"Mauricio Faria de Oliveira1-5/+2
2015-08-28dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpathChristoph Hellwig1-6/+0
2015-08-28dm-mpath, scsi_dh: don't let dm detach device handlersChristoph Hellwig1-15/+6
2015-05-27dm mpath: fix leak of dm_mpath_io structure in blk-mq .queue_rq error pathMike Snitzer1-1/+3
2015-04-15dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mqMike Snitzer1-1/+1
2015-04-15dm: add full blk-mq support to request-based DMMike Snitzer1-1/+1
2015-03-31dm: remove unnecessary wrapper around blk_lld_busyMike Snitzer1-1/+1
2015-02-09dm mpath: simplify failure path of dm_multipath_init()Johannes Thumshirn1-9/+15
2015-02-09dm: allocate requests in target when stacking on blk-mq devicesMike Snitzer1-8/+43
2015-02-09dm: submit stacked requests in irq enabled contextKeith Busch1-7/+11
2014-10-05dm mpath: stop queueing IO when no valid paths existBenjamin Marzinski1-1/+3
2014-08-01dm mpath: eliminate pg_ready() wrapperMike Snitzer1-4/+2
2014-07-10dm mpath: fix IO hang due to logic bug in multipath_busyJun'ichi Nomura1-2/+3
2014-06-04dm: disable WRITE SAME if it failsMike Snitzer1-10/+1
2014-05-27dm mpath: really fix lockdep warningHannes Reinecke1-6/+8
2014-05-14dm mpath: fix lock order inconsistency in multipath_ioctlMike Snitzer1-1/+1
2014-03-27dm mpath: print more useful warnings in multipath_message()Jose Castillo1-2/+2
2014-03-27dm-mpath: do not activate failed pathsHannes Reinecke1-2/+5
2014-03-27dm mpath: remove extra nesting in map functionMike Snitzer1-22/+24
2014-03-27dm mpath: remove map_io()Hannes Reinecke1-13/+6
2014-03-27dm mpath: reduce memory pressure when requeuingHannes Reinecke1-23/+15
2014-03-27dm mpath: remove process_queued_ios()Hannes Reinecke1-42/+27
2014-03-27dm mpath: push back requests instead of queueingHannes Reinecke1-78/+36
2014-03-27dm mpath: do not call pg_init when it is already runningHannes Reinecke1-2/+4
2014-02-26dm mpath: fix stalls when handling invalid ioctlsHannes Reinecke1-2/+5
2013-11-05dm mpath: requeue I/O during pg_initHannes Reinecke1-4/+12
2013-10-31dm mpath: fix race condition between multipath_dtr and pg_init_doneShiva Krishna Merla1-3/+15
2013-09-23dm: add reserved_rq_based_ios module parameterMike Snitzer1-3/+3
2013-09-20dm mpath: disable WRITE SAME if it failsMike Snitzer1-1/+10
2013-09-18dm mpath: do not fail path on -ENOSPCJun'ichi Nomura1-0/+1
2013-08-23[SCSI] Return ENODATA on medium errorHannes Reinecke1-1/+15
2013-07-10dm mpath: fix ioctl deadlock when no pathsHannes Reinecke1-6/+2
2013-05-10dm mpath: enable WRITE SAME supportMike Snitzer1-0/+1
2013-03-01dm: rename request variables to biosAlasdair G Kergon1-2/+2
2013-03-01dm: fix truncated status stringsMikulas Patocka1-5/+3
2012-10-12dm mpath: fix check for null mpio in end_io fnWei Yongjun1-1/+2
2012-10-02Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqLinus Torvalds1-1/+1
2012-09-26dm mpath: only retry ioctl when no paths if queue_if_no_path setMike Snitzer1-4/+7
2012-08-20workqueue: deprecate flush[_delayed]_work_sync()Tejun Heo1-1/+1
2012-07-27dm thin: commit before gathering statusAlasdair G Kergon1-1/+1
2012-07-27dm mpath: add retain_attached_hw_handler featureMike Snitzer1-6/+41
2012-06-03dm mpath: allow ioctls to trigger pg initMikulas Patocka1-9/+17
2012-06-03dm mpath: delay retry of bypassed pgMike Christie1-2/+6
2012-06-03dm mpath: reduce size of struct multipathMike Snitzer1-6/+7
2012-05-12dm mpath: check if scsi_dh module already loaded before trying to loadMike Snitzer1-2/+2
2012-03-28dm: reject trailing characters in sccanf inputMikulas Patocka1-2/+4
2012-03-28dm mpath: detect invalid map_contextJun'ichi Nomura1-14/+32
2012-01-14dm: do not forward ioctls from logical volumes to the underlying devicePaolo Bonzini1-0/+6