aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-thin.c
AgeCommit message (Expand)AuthorFilesLines
5 daysMerge tag 'for-6.10/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+2
6 daysdm: always manage discard support in terms of max_hw_discard_sectorsMike Snitzer1-2/+2
2024-04-01dm: use bio_list_merge_initChristoph Hellwig1-9/+3
2024-02-20dm: update relevant MODULE_AUTHOR entries to latest dm-devel mailing listMike Snitzer1-1/+1
2024-02-20dm thin: add braces around conditional code that spans linesMike Snitzer1-8/+12
2023-06-30Merge tag 'for-6.5/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-24/+17
2023-06-26Merge tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linuxLinus Torvalds1-4/+5
2023-06-16dm thin: disable discards for thin-pool if no_discard_passdownMike Snitzer1-8/+5
2023-06-16dm thin: update .io_hints methods to not require handling discards lastMike Snitzer1-14/+12
2023-06-16dm thin: remove return code variable in pool_mapMike Snitzer1-3/+1
2023-06-15dm thin: fix issue_discard to pass GFP_NOIO to __blkdev_issue_discardMike Snitzer1-2/+1
2023-06-12block: replace fmode_t with a block-specific type for block open flagsChristoph Hellwig1-4/+5
2023-03-30dm bio prison v1: add dm_cell_key_has_valid_rangeMike Snitzer1-6/+15
2023-03-30dm bio prison v1: improve concurrent IO performanceJoe Thornber1-38/+54
2023-03-30dm thin: speed up cell_defer_no_holder()Joe Thornber1-6/+8
2023-03-06dm thin: fix deadlock when swapping to thin deviceColy Li1-0/+2
2023-02-17dm thin: add cond_resched() to various workqueue loopsMike Snitzer1-0/+2
2023-02-14dm: declare variables static when sensibleHeinz Mauelshagen1-1/+1
2023-02-14dm: avoid using symbolic permissionsHeinz Mauelshagen1-1/+1
2023-02-14dm: add missing empty linesHeinz Mauelshagen1-0/+5
2023-02-14dm: correct block comments format.Heinz Mauelshagen1-8/+16
2023-02-14dm: address indent/space issuesHeinz Mauelshagen1-3/+3
2023-02-14dm: change "unsigned" to "unsigned int"Heinz Mauelshagen1-23/+23
2023-02-14dm: add missing SPDX-License-IndentifiersHeinz Mauelshagen1-0/+1
2022-12-13Merge tag 'for-6.2/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-4/+14
2022-12-07block: remove bio_set_op_attrsChristoph Hellwig1-1/+1
2022-12-01dm thin: resume even if in FAIL modeLuo Meng1-4/+12
2022-11-30dm thin: Fix UAF in run_timer_softirq()Luo Meng1-0/+2
2022-07-15dm thin: fix use-after-free crash in dm_sm_register_threshold_callbackLuo Meng1-1/+3
2022-04-17block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARDChristoph Hellwig1-2/+2
2022-04-17block: remove QUEUE_FLAG_DISCARDChristoph Hellwig1-10/+1
2022-03-10dm: simplify dm_sumbit_bio_remap interfaceMike Snitzer1-2/+2
2022-03-10dm thin: use dm_submit_bio_remapMike Snitzer1-2/+3
2022-03-02dm: stop using bdevnameChristoph Hellwig1-5/+3
2022-02-22dm thin: use time_is_before_jiffies instead of open coding itWang Qing1-1/+1
2022-02-02block: pass a block_device and opf to bio_allocChristoph Hellwig1-5/+4
2022-02-02dm-thin: use blkdev_issue_flush instead of open coding itChristoph Hellwig1-10/+1
2022-02-02dm: bio_alloc can't fail if it is allowed to sleepChristoph Hellwig1-16/+9
2021-10-18dm: use bdev_nr_sectors and bdev_nr_bytes instead of open coding themChristoph Hellwig1-1/+1
2021-08-10dm: update target status functions to support IMA measurementTushar Sugandhi1-0/+8
2021-03-26dm thin: remove needless request_queue NULL pointer checkXu Wang1-1/+1
2020-07-08writeback: remove bdi->congested_fnChristoph Hellwig1-16/+0
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-2/+2
2020-01-14dm thin: change data device's flush_bio to be member of struct poolMikulas Patocka1-9/+10
2020-01-14dm thin: don't allow changing data device during thin-pool reloadMikulas Patocka1-5/+13
2020-01-14dm thin: fix use-after-free in metadata_pre_commit_callbackMike Snitzer1-4/+3
2019-12-06dm thin: Flush data device before committing metadataNikos Tsironis1-2/+40
2019-11-18dm thin: wakeup worker only when deferred bios existJeffle Xu1-1/+4
2019-11-05dm thin: replace spin_lock_irqsave with spin_lock_irqMikulas Patocka1-67/+46
2019-03-05dm thin: add sanity checks to thin-pool and external snapshot creationJason Cai (Xiang Feng)1-0/+13
2019-02-20dm: eliminate 'split_discard_bios' flag from DM target interfaceMike Snitzer1-1/+0
2019-02-14dm thin: fix bug where bio that overwrites thin block ignores FUANikos Tsironis1-5/+50
2019-01-15dm thin: fix passdown_double_checking_shared_status()Joe Thornber1-5/+5
2018-12-12dm thin: bump target versionMike Snitzer1-2/+2
2018-12-11dm thin: send event about thin-pool state change _after_ making itMike Snitzer1-33/+35
2018-10-16dm thin: use refcount_t for thin_c reference countingJohn Pittman1-4/+4
2018-09-10dm thin metadata: try to avoid ever aborting transactionsJoe Thornber1-8/+65
2018-08-07dm thin: stop no_space_timeout worker when switching to write-modeHou Tao1-0/+2
2018-07-31dm kcopyd: return void from dm_kcopyd_copy()Mike Snitzer1-20/+3
2018-07-30dm thin: include metadata_low_watermark threshold in pool statusAndy Grover1-2/+4
2018-06-27dm thin: handle running out of data space vs concurrent discardMike Snitzer1-2/+9
2018-06-12Merge tag 'overflow-v4.18-rc1-part2' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+3
2018-06-12treewide: Use array_size() in vmalloc()Kees Cook1-1/+3
2018-06-08dm: adjust structure members to improve alignmentMike Snitzer1-2/+3
2018-06-05dm: Use kzalloc for all structs with embedded biosets/mempoolsKent Overstreet1-1/+1
2018-05-30dm: convert to bioset_init()/mempool_init()Kent Overstreet1-16/+16
2018-04-03dm: allow targets to return output from messages they are sentMike Snitzer1-1/+2
2018-01-29dm thin: fix trailing semicolon in __remap_and_issue_shared_cellLuis de Bethencourt1-1/+1
2018-01-17dm: backfill missing calls to mutex_destroy()Mike Snitzer1-0/+7
2017-12-04dm: fix various targets to dm_register_target after module __init resources c...monty_pavel@sina.com1-12/+10
2017-10-25locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns ...Mark Rutland1-1/+1
2017-09-14Merge tag 'for-4.14/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+1
2017-08-28dm: constify argument arraysEric Biggers1-1/+1
2017-08-23block: replace bi_bdev with a gendisk pointer and partitions indexChristoph Hellwig1-3/+3
2017-07-03Merge branch 'for-4.13/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-34/+33
2017-06-27dm thin: do not queue freed thin mapping for next stage processingVallish Vaidyeshwara1-13/+13
2017-06-09block: switch bios to blk_status_tChristoph Hellwig1-33/+32
2017-06-09dm: change ->end_io calling conventionChristoph Hellwig1-2/+2
2017-05-03Merge tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+2
2017-04-24dm thin: fix a memory leak when passing discard bio downDennis Yang1-0/+1
2017-04-08block: remove the discard_zeroes_data flagChristoph Hellwig1-2/+0
2017-03-07dm bio prison v2: new interface for the bio prisonJoe Thornber1-1/+1
2017-02-02block: Use pointer to backing_dev_info from request_queueJan Kara1-1/+1
2017-01-27block: add a op_is_flush helperChristoph Hellwig1-8/+5
2016-08-07block: rename bio bi_rw to bi_opfJens Axboe1-4/+4
2016-07-20dm thin: fix a race condition between discarding and provisioning a blockJoe Thornber1-11/+91
2016-06-07block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSHMike Christie1-4/+4
2016-06-07dm: use bio op accessorsMike Christie1-7/+10
2016-06-07block discard: use bio set op accessorMike Christie1-1/+1
2016-06-07block/fs/drivers: remove rw argument from submit_bioMike Christie1-1/+2
2016-05-13dm thin: unroll issue_discard() to create longer discard bio chainsJoe Thornber1-37/+71
2016-05-13dm thin: use __blkdev_issue_discard for async discard supportMike Snitzer1-54/+16
2016-05-13dm thin: remove __bio_inc_remaining() and switch to using bio_inc_remaining()Mike Snitzer1-12/+1
2016-05-05dm thin: Remove return statement from void functionAmitoj Kaur Chawla1-1/+1
2016-03-11dm thin: consistently return -ENOSPC if pool has run out of data spaceMike Snitzer1-4/+17
2016-02-22dm: rename target's per_bio_data_size to per_io_data_sizeMike Snitzer1-1/+1
2016-01-06dm thin: bump thin and thin-pool target versionsMike Snitzer1-2/+2
2015-12-17dm thin: fix race condition when destroying thin pool workqueueNikolay Borisov1-2/+2
2015-11-23dm thin: fix regression in advertised discard limitsMike Snitzer1-3/+2
2015-11-16dm thin: restore requested 'error_if_no_space' setting on OODS to WRITE trans...Mike Snitzer1-0/+1
2015-10-13dm thin: fix missing pool reference count decrement in pool_ctr error pathMike Snitzer1-1/+1
2015-09-13dm thin: disable discard support for thin devices if pool's is disabledMike Snitzer1-0/+4
2015-09-02Merge tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/d...Linus Torvalds1-74/+15
2015-09-02Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-49/+23
2015-08-18dm thin: optimize async discard submissionMike Snitzer1-74/+15
2015-08-13block: kill merge_bvec_fn() completelyKent Overstreet1-31/+0
2015-07-29block: add a bi_error field to struct bioChristoph Hellwig1-18/+23
2015-07-26dm thin: return -ENOSPC when erroring retry list due to out of data spaceMike Snitzer1-3/+8
2015-07-16dm thin: display 'needs_check' in status if it is setMike Snitzer1-2/+8
2015-07-16dm thin: stay in out-of-data-space mode once no_space_timeout expiresMike Snitzer1-4/+17
2015-07-05dm thin: allocate the cell_sort_array dynamicallyJoe Thornber1-1/+12
2015-06-11dm thin: fail messages with EOPNOTSUPP when pool cannot handle messagesMike Snitzer1-1/+1
2015-06-11dm thin: range discard supportJoe Thornber1-149/+434
2015-05-29dm thin: cleanup schedule_zero() to read more logicallyMike Snitzer1-9/+7
2015-05-29dm thin: cleanup overwrite's endio restore to be centralizedMike Snitzer1-8/+3
2015-05-22block: remove management of bi_remaining when restoring original bi_end_ioMike Snitzer1-6/+3
2015-05-05bio: skip atomic inc/dec of ->bi_remaining for non-chainsJens Axboe1-2/+2
2015-02-27dm thin: fix to consistently zero-fill reads to unprovisioned blocksJoe Thornber1-11/+0
2015-02-12Merge tag 'dm-3.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-2/+3
2015-02-09dm: use time_in_range() and time_after()Manuel Schölling1-2/+3
2015-01-28dm thin: don't allow messages to be sent to a pool target in READ_ONLY or FAI...Joe Thornber1-0/+6
2014-12-17dm thin: fix crash by initializing thin device's refcount and completion earlierMarc Dionne1-3/+2
2014-12-17dm thin: fix missing out-of-data-space to write mode transition if blocks are...Joe Thornber1-2/+20
2014-12-17dm thin: fix inability to discard blocks when in out-of-data-space modeJoe Thornber1-1/+1
2014-11-21dm thin: fix pool_io_hints to avoid looking at max_hw_sectorsMike Snitzer1-14/+7
2014-11-19dm thin: suspend/resume active thin devices when reloading thin-poolMike Snitzer1-2/+38
2014-11-19dm thin: do not allow thin device activation while pool is suspendedMike Snitzer1-10/+45
2014-11-12dm thin: remove stale 'trim' message in block comment above pool_messageMike Snitzer1-1/+0
2014-11-12dm thin: fix a race in thin_dtrMikulas Patocka1-3/+3
2014-11-10dm bio prison: introduce support for locking ranges of blocksJoe Thornber1-2/+4
2014-11-10dm thin: refactor requeue_io to eliminate spinlock bouncingMike Snitzer1-20/+23
2014-11-10dm thin: optimize retry_bios_on_resumeMike Snitzer1-7/+2
2014-11-10dm thin: sort the deferred cellsJoe Thornber1-20/+68
2014-11-10dm thin: direct dispatch when breaking sharingJoe Thornber1-13/+57
2014-11-10dm thin: remap the bios in a cell immediatelyJoe Thornber1-29/+61
2014-11-10dm thin: defer whole cells rather than individual biosJoe Thornber1-47/+207
2014-11-10dm thin: factor out remap_and_issue_overwriteMike Snitzer1-18/+20
2014-11-10dm thin: performance improvement to discard processingJoe Thornber1-7/+3
2014-11-10dm thin: implement thin_mergeMike Snitzer1-2/+18
2014-11-10dm thin: adjust max_sectors_kb based on thinp blocksizeMike Snitzer1-3/+31
2014-11-10dm thin: throttle incoming IOJoe Thornber1-1/+65
2014-11-10dm thin: prefetch missing metadata pagesJoe Thornber1-4/+6
2014-11-10dm bio prison: switch to using a red black treeJoe Thornber1-2/+1
2014-11-04dm thin: grab a virtual cell before looking up the mappingJoe Thornber1-4/+12
2014-08-01dm thin: set minimum_io_size to pool's data block sizeMike Snitzer1-1/+1
2014-08-01dm thin: relax external origin size constraintsJoe Thornber1-43/+115
2014-08-01dm thin: switch to an atomic_t for tracking pending new block preparationsJoe Thornber1-13/+16
2014-06-11dm thin: update discard_granularity to reflect the thin-pool blocksizeLukas Czerner1-1/+2
2014-06-03dm thin: return ENOSPC instead of EIO when error_if_no_space enabledMike Snitzer1-14/+24
2014-06-03dm thin: cleanup noflush_work to use a proper completionJoe Thornber1-18/+34
2014-05-20dm thin: add 'no_space_timeout' dm-thin-pool module paramMike Snitzer1-3/+9
2014-05-14dm thin: add timeout to stop out-of-data-space mode holding IO foreverJoe Thornber1-0/+21
2014-05-14dm thin: allow metadata commit if pool is in PM_OUT_OF_DATA_SPACE modeJoe Thornber1-1/+1
2014-04-29dm thin: use INIT_WORK_ONSTACK in noflush_work to avoid ODEBUG warningMike Snitzer1-1/+1
2014-04-08dm thin: fix rcu_read_lock being held in code that can sleepJoe Thornber1-3/+67
2014-04-08dm thin: irqsave must always be used with the pool->lock spinlockJoe Thornber1-2/+3
2014-04-04dm thin: sort the per thin deferred bios using an rb_treeMike Snitzer1-2/+82
2014-03-31dm thin: use per thin device deferred bio listsMike Snitzer1-61/+104
2014-03-31dm thin: simplify pool_is_congestedMike Snitzer1-11/+5
2014-03-28dm thin: fix dangling bio in process_deferred_bios error pathMike Snitzer1-1/+1
2014-03-05dm thin: fix noflush suspend IO queueingJoe Thornber1-2/+72
2014-03-05dm thin: fix deadlock in __requeue_bio_listJoe Thornber1-6/+7
2014-03-05dm thin: fix out of data space handlingJoe Thornber1-45/+102
2014-03-05dm thin: ensure user takes action to validate data and metadata consistencyMike Snitzer1-22/+54
2014-03-04dm thin: synchronize the pool mode during suspendMike Snitzer1-0/+6
2014-02-27dm thin: allow metadata space larger than supported to go unusedMike Snitzer1-12/+19
2014-02-24dm thin: fix the error path for the thin device constructorMike Snitzer1-1/+4
2014-02-17dm thin: avoid metadata commit if a pool's thin devices haven't changedMike Snitzer1-1/+2
2014-01-30Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-12/+18
2014-01-15dm thin: fix pool feature parsingMike Snitzer1-1/+1
2014-01-07dm thin: fix set_pool_mode exposed pool operation racesMike Snitzer1-13/+27
2014-01-07dm thin: eliminate the no_free_space flagMike Snitzer1-22/+4
2014-01-07dm thin: add error_if_no_space featureMike Snitzer1-6/+25
2014-01-07dm thin: requeue bios to DM core if no_free_space and in read-only modeMike Snitzer1-6/+20
2014-01-07dm thin: cleanup and improve no space handlingMike Snitzer1-29/+32
2014-01-07dm thin: log info when growing the data or metadata deviceMike Snitzer1-0/+7
2014-01-07dm thin: handle metadata failures more consistentlyJoe Thornber1-21/+27
2014-01-07dm thin: factor out check_low_water_mark and use boolsJoe Thornber1-15/+22
2014-01-07dm thin: add mappings to end of prepared_* listsMike Snitzer1-3/+3
2014-01-07dm thin: return error from alloc_data_block if pool is not in write modeJoe Thornber1-0/+3
2014-01-07dm thin: use bool rather than unsigned for flags in structuresMike Snitzer1-11/+11
2014-01-07dm thin: fix discard support to a previously shared blockJoe Thornber1-2/+12
2014-01-07dm thin: initialize dm_thin_new_mapping returned by get_next_mappingMike Snitzer1-11/+6
2013-12-31Merge tag 'v3.13-rc6' into for-3.14/coreJens Axboe1-27/+39
2013-12-10dm thin: allow pool in read-only mode to transition to read-write modeJoe Thornber1-2/+10
2013-12-10dm thin: re-establish read-only state when switching to fail modeJoe Thornber1-0/+1
2013-12-10dm thin: always fallback the pool mode if commit failsJoe Thornber1-22/+15
2013-12-10dm thin: switch to read-only mode if metadata space is exhaustedMike Snitzer1-2/+10
2013-12-10dm thin: switch to read only mode if a mapping insert failsJoe Thornber1-1/+3
2013-11-23block: Generic bio chainingKent Overstreet1-2/+6
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-10/+12
2013-09-23dm thin: do not expose non-zero discard limits if discards disabledMike Snitzer1-3/+11
2013-09-05dm thin: always return -ENOSPC if no_free_space is setMike Snitzer1-25/+31
2013-09-05dm thin: set pool read-only if breaking_sharing fails block allocationMike Snitzer1-2/+4
2013-09-05dm thin: prefix pool error messages with pool device nameMike Snitzer1-16/+32
2013-08-23dm thin: fix stacking of geometry limitsMike Snitzer1-2/+10
2013-05-19dm thin: fix metadata dev resize detectionAlasdair G Kergon1-2/+2
2013-05-10dm thin: generate event when metadata threshold passedJoe Thornber1-0/+38
2013-05-10dm thin: detect metadata device resizingJoe Thornber1-3/+51
2013-05-10dm thin: open dev read only when possibleJoe Thornber1-11/+14