aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-cache-target.c
AgeCommit message (Expand)AuthorFilesLines
2025-03-06dm cache: support shrinking the origin deviceMing-Hung Tsai1-3/+69
2025-03-06dm cache: prevent BUG_ON by blocking retries on failed device resumesMing-Hung Tsai1-0/+24
2024-11-18Merge tag 'for-6.13/block-20241118' of git://git.kernel.dk/linuxLinus Torvalds1-2/+2
2024-11-11dm-cache: fix warnings about duplicate slab cachesMikulas Patocka1-5/+20
2024-11-04dm cache: fix potential out-of-bounds access on the first resumeMing-Hung Tsai1-21/+16
2024-11-04dm cache: optimize dirty bit checking with find_next_bit when resizingMing-Hung Tsai1-8/+8
2024-11-04dm cache: fix out-of-bounds access to the dirty bitset when resizingMing-Hung Tsai1-1/+1
2024-11-04dm cache: fix flushing uninitialized delayed_work on cache_ctr errorMing-Hung Tsai1-9/+15
2024-11-04dm cache: correct the number of origin blocks to match the target lengthMing-Hung Tsai1-4/+4
2024-10-29block: add a bdev_limits helperChristoph Hellwig1-2/+2
2024-09-26dm: fix spelling errorsShen Lichuan1-1/+1
2024-09-26dm-cache: remove pointless error checkDipendra Khadka1-4/+0
2024-07-10dm: stop using blk_limits_io_{min,opt}Christoph Hellwig1-2/+2
2024-06-20block: remove the discard_alignment flagChristoph Hellwig1-1/+0
2024-05-21Merge tag 'for-6.10/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-3/+2
2024-05-20dm: always manage discard support in terms of max_hw_discard_sectorsMike Snitzer1-3/+2
2024-04-01dm: use bio_list_merge_initChristoph Hellwig1-8/+4
2023-06-12block: replace fmode_t with a block-specific type for block open flagsChristoph Hellwig1-6/+6
2023-04-11dm: push error reporting down to dm_register_target()Yangtao Li1-1/+0
2023-02-17dm cache: add cond_resched() to various workqueue loopsMike Snitzer1-0/+4
2023-02-14dm: declare variables static when sensibleHeinz Mauelshagen1-1/+1
2023-02-14dm: fix suspect indent whitespaceHeinz Mauelshagen1-1/+1
2023-02-14dm: add missing empty linesHeinz Mauelshagen1-1/+11
2023-02-14dm: avoid spaces before function arguments or in favour of tabsHeinz Mauelshagen1-6/+6
2023-02-14dm: correct block comments format.Heinz Mauelshagen1-21/+37
2023-02-14dm: change "unsigned" to "unsigned int"Heinz Mauelshagen1-25/+25
2023-02-14dm: add missing SPDX-License-IndentifiersHeinz Mauelshagen1-0/+1
2022-12-01dm cache: set needs_check flag after aborting metadataMike Snitzer1-5/+5
2022-11-30dm cache: Fix UAF in destroy()Luo Meng1-0/+1
2022-07-07dm cache: fix typo in 2 comment blocksSteven Lung1-1/+1
2022-04-17block: remove QUEUE_FLAG_DISCARDChristoph Hellwig1-8/+1
2022-03-10dm cache: use dm_submit_bio_remapMike Snitzer1-3/+4
2022-03-02dm: stop using bdevnameChristoph Hellwig1-6/+4
2022-02-04block: pass a block_device to bio_clone_fastChristoph Hellwig1-2/+2
2022-02-04dm-cache: remove __remap_to_origin_clear_discardChristoph Hellwig1-16/+8
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/+24
2021-06-25dm io tracker: factor out IO trackerMike Snitzer1-76/+6
2021-03-26dm cache: remove needless request_queue NULL pointer checksXu Wang1-1/+1
2020-12-22dm cache: simplify the return expression of load_mapping()Zheng Yongjun1-6/+1
2020-12-01Revert "dm cache: fix arm link errors with inline"Nick Desaulniers1-4/+0
2020-09-29dm: use dm_table_get_device_name() where appropriate in targetsMike Snitzer1-1/+1
2020-07-08writeback: remove bdi->congested_fnChristoph Hellwig1-19/+0
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-3/+3
2020-03-03dm: bump version of core and various targetsMike Snitzer1-1/+1
2020-02-27dm cache: fix a crash due to incorrect work item cancellingMikulas Patocka1-2/+2
2019-11-05dm cache: replace spin_lock_irqsave with spin_lock_irqMikulas Patocka1-49/+28
2019-10-17dm cache: fix bugs when a GFP_NOWAIT allocation failsMikulas Patocka1-26/+2
2019-03-05dm cache: add support for discard passdown to the origin deviceMike Snitzer1-26/+100
2019-02-20dm: eliminate 'split_discard_bios' flag from DM target interfaceMike Snitzer1-1/+0
2018-10-09dm cache: destroy migration_cache if cache target registration failedShenghui Wang1-3/+2
2018-10-04dm cache: fix resize crash if user doesn't reload cache tableMike Snitzer1-2/+7
2018-07-31dm kcopyd: return void from dm_kcopyd_copy()Mike Snitzer1-12/+4
2018-07-27dm cache: only allow a single io_mode cache feature to be requestedJohn Pittman1-4/+15
2018-06-08dm: adjust structure members to improve alignmentMike Snitzer1-29/+32
2018-05-30dm: convert to bioset_init()/mempool_init()Kent Overstreet1-13/+12
2018-04-03dm: allow targets to return output from messages they are sentMike Snitzer1-1/+2
2017-12-04dm: fix various targets to dm_register_target after module __init resources c...monty_pavel@sina.com1-6/+6
2017-11-10dm cache: lift common migration preparation code to alloc_migration()Mike Snitzer1-10/+7
2017-11-10dm cache: remove usused deferred_cells member from struct cacheJoe Thornber1-2/+0
2017-11-10dm cache: simplify get_per_bio_data() by removing data_size argumentMike Snitzer1-39/+22
2017-11-10dm cache: remove all obsolete writethrough-specific codeMike Snitzer1-81/+1
2017-11-10dm cache: submit writethrough writes in parallel to origin and cacheMike Snitzer1-17/+37
2017-11-10dm cache: pass cache structure to mode functionsMike Snitzer1-16/+16
2017-11-10dm cache: fix race condition in the writeback mode overwrite_bio optimisationJoe Thornber1-33/+53
2017-09-14Merge tag 'for-4.14/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-2/+2
2017-08-28dm: constify argument arraysEric Biggers1-2/+2
2017-08-23block: replace bi_bdev with a gendisk pointer and partitions indexChristoph Hellwig1-2/+2
2017-06-09block: switch bios to blk_status_tChristoph Hellwig1-16/+18
2017-06-09dm: change ->end_io calling conventionChristoph Hellwig1-2/+2
2017-05-14dm cache: simplify the IDLE vs BUSY state calculationJoe Thornber1-6/+3
2017-05-14dm cache: track all IO to the cache rather than just the origin device's IOJoe Thornber1-8/+7
2017-05-14dm cache: fix incorrect 'idle_time' reset in IO trackerJoe Thornber1-0/+3
2017-05-03Merge tag 'for-4.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1388/+1087
2017-04-08block: remove the discard_zeroes_data flagChristoph Hellwig1-1/+0
2017-03-31dm cache: set/clear the cache core's dirty_bitset when loading mappingsJoe Thornber1-0/+6
2017-03-07dm cache: significant rework to leverage dm-bio-prison-v2Joe Thornber1-1388/+1081
2017-03-07dm bio prison v2: new interface for the bio prisonJoe Thornber1-1/+1
2017-02-21Merge tag 'dm-4.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-19/+25
2017-02-16dm cache metadata: add "metadata2" featureJoe Thornber1-16/+22
2017-02-16dm cache: fix corruption seen when using cache > 2TBJoe Thornber1-3/+3
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-10/+3
2016-11-21dm cache: add missing cache device name to DMERR in set_cache_mode()Mike Snitzer1-1/+2
2016-08-07block: rename bio bi_rw to bi_opfJens Axboe1-4/+4
2016-06-07block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSHMike Christie1-6/+6
2016-06-07dm: use bio op accessorsMike Christie1-4/+6
2016-03-10dm cache: bump the target versionMike Snitzer1-1/+1
2016-03-10dm cache: make sure every metadata function checks fail_ioJoe Thornber1-2/+10
2016-02-22dm: rename target's per_bio_data_size to per_io_data_sizeMike Snitzer1-1/+1
2015-12-10dm: don't save and restore bi_privateMikulas Patocka1-3/+0
2015-10-31dm: drop NULL test before kmem_cache_destroy() and mempool_destroy()Julia Lawall1-2/+1
2015-09-02Merge tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/d...Linus Torvalds1-20/+19
2015-09-02Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-32/+13
2015-09-01dm cache: fix use after freeing migrationsJoe Thornber1-6/+9
2015-08-31dm cache: small cleanups related to deferred prison cell cleanupMike Snitzer1-15/+6
2015-08-31dm cache: fix leaking of deferred bio prison cellsJoe Thornber1-0/+4
2015-08-13block: kill merge_bvec_fn() completelyKent Overstreet1-21/+0
2015-08-12dm cache: move wake_waker() from free_migrations() to where it is neededJoe Thornber1-1/+2
2015-07-29dm cache: fix device destroy hang due to improper prealloc_used accountingMike Snitzer1-3/+3
2015-07-29Revert "dm cache: do not wake_worker() in free_migration()"Mike Snitzer1-0/+1
2015-07-29block: add a bi_error field to struct bioChristoph Hellwig1-11/+13
2015-07-16dm cache: avoid calls to prealloc_free_structs() if possibleMike Snitzer1-3/+12
2015-07-16dm cache: avoid preallocation if no work in writeback_some_dirty_blocks()Mike Snitzer1-9/+4
2015-07-16dm cache: do not wake_worker() in free_migration()Mike Snitzer1-1/+0
2015-07-16dm cache: display 'needs_check' in status if it is setMike Snitzer1-2/+7
2015-06-11dm cache: age and write back cache entries even without active IOJoe Thornber1-2/+2
2015-06-11dm cache: prefix all DMERR and DMINFO messages with cache device nameMike Snitzer1-38/+64
2015-06-11dm cache: add fail io mode and needs_check flagJoe Thornber1-28/+176
2015-06-11dm cache: wake the worker thread every time we free a migration objectJoe Thornber1-3/+6
2015-05-29dm cache: boost promotion of blocks that will be overwrittenJoe Thornber1-7/+7
2015-05-29dm cache: defer whole cellsJoe Thornber1-63/+262
2015-05-29dm cache: pull out some bitset utility functions for reuseJoe Thornber1-24/+0
2015-05-29dm cache: pass a new 'critical' flag to the policies when requesting writebac...Joe Thornber1-1/+2
2015-05-29dm cache: track IO to the origin device using io_trackerJoe Thornber1-7/+49
2015-05-29dm cache: add io_trackerJoe Thornber1-0/+73
2015-05-29dm cache: fix race when issuing a POLICY_REPLACE operationJoe Thornber1-20/+38
2015-05-22block: remove management of bi_remaining when restoring original bi_end_ioMike Snitzer1-6/+0
2015-05-05bio: skip atomic inc/dec of ->bi_remaining for non-chainsJens Axboe1-1/+1
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-23dm cache: fix problematic dual use of a single migration count variableJoe Thornber1-39/+50
2014-12-01dm cache: fix spurious cell_defer when dealing with partial block at end of d...Joe Thornber1-2/+2
2014-12-01dm cache: dirty flag was mistakenly being cleared when promoting via overwriteJoe Thornber1-3/+7
2014-12-01dm cache: only use overwrite optimisation for promotion when in writeback modeJoe Thornber1-1/+2
2014-12-01dm cache: discard block size must be a multiple of cache block sizeJoe Thornber1-6/+3
2014-12-01dm cache: fix a harmless race when working out if a block is discardedJoe Thornber1-2/+4
2014-12-01dm cache: when reloading a discard bitset allow for a different discard block...Joe Thornber1-7/+87
2014-12-01dm cache: fix some issues with the new discard range supportJoe Thornber1-3/+3
2014-11-12dm cache: emit a warning message if there are a lot of cache blocksJoe Thornber1-3/+16
2014-11-10dm cache: improve discard supportJoe Thornber1-45/+121
2014-11-10dm cache: revert "prevent corruption caused by discard_block_size > cache_blo...Joe Thornber1-3/+34
2014-11-10dm cache: revert "remove remainder of distinct discard block size"Joe Thornber1-26/+46
2014-11-10dm bio prison: introduce support for locking ranges of blocksJoe Thornber1-1/+2
2014-11-10dm bio prison: switch to using a red black treeJoe Thornber1-2/+1
2014-09-10dm cache: fix race causing dirty blocks to be marked as cleanAnssi Hannula1-2/+2
2014-08-01dm cache: set minimum_io_size to cache's data block sizeMike Snitzer1-1/+1
2014-08-01dm cache metadata: use dm-space-map-metadata.h defined size limitsMike Snitzer1-1/+1
2014-08-01dm cache: fail migrations in the do_worker error pathJoe Thornber1-0/+1
2014-08-01dm cache: simplify deferred set reference count incrementsJoe Thornber1-46/+77
2014-08-01dm cache: fix race affecting dirty block countAnssi Hannula1-7/+6
2014-05-27dm cache: always split discards on cache block boundariesHeinz Mauelshagen1-0/+2
2014-05-01dm cache: fix writethrough mode quiescing in cache_mapMike Snitzer1-0/+1
2014-04-04dm cache: fix a lock-inversionJoe Thornber1-26/+2
2014-03-27dm cache: remove remainder of distinct discard block sizeHeinz Mauelshagen1-46/+26
2014-03-27dm cache: prevent corruption caused by discard_block_size > cache_block_sizeMike Snitzer1-34/+3
2014-03-12dm cache: fix access beyond end of origin deviceHeinz Mauelshagen1-5/+3
2014-03-12dm cache: fix truncation bug when copying a block to/from >2TB fast deviceHeinz Mauelshagen1-1/+2
2014-02-28dm cache: fix truncation bug when mapping I/O to >2TB fast deviceHeinz Mauelshagen1-2/+3
2014-02-17dm cache: do not add migration to completed list before unhooking bioMike Snitzer1-2/+4
2014-02-17dm cache: move hook_info into common portion of per_bio_data structureMike Snitzer1-1/+1
2014-01-30Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-10/+18
2014-01-16dm cache: add policy name to status outputMike Snitzer1-1/+3
2014-01-10dm cache: add block sizes and total cache blocks to status outputMike Snitzer1-6/+10
2013-12-31Merge tag 'v3.13-rc6' into for-3.14/coreJens Axboe1-1/+1
2013-12-10dm cache: actually resize cacheVincent Pelletier1-1/+1
2013-12-03dm cache: increment bi_remaining when bi_end_io is restoredMike Snitzer1-6/+6
2013-11-23block: Generic bio chainingKent Overstreet1-0/+6
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-10/+12
2013-11-12dm cache: resolve small nits and improve DocumentationMike Snitzer1-1/+1
2013-11-11dm cache: add cache block invalidation supportJoe Thornber1-3/+222
2013-11-11dm cache: add passthrough modeJoe Thornber1-35/+174
2013-11-11dm cache: cache shrinking supportJoe Thornber1-9/+54
2013-11-09dm cache: promotion optimisation for writesJoe Thornber1-6/+87
2013-11-09dm cache: optimize commit_if_neededHeinz Mauelshagen1-5/+7
2013-11-09dm cache: log error message if dm_kcopyd_copy() failsHeinz Mauelshagen1-1/+3
2013-11-09dm cache: use cell_defer() boolean argument consistentlyHeinz Mauelshagen1-4/+4
2013-11-09dm cache: return -EINVAL if the user specifies unknown cache policyMikulas Patocka1-6/+7
2013-11-09dm cache: improve efficiency of quiescing flag managementJoe Thornber1-22/+5
2013-11-09dm cache: fix a race condition between queuing new migrations and quiescing f...Joe Thornber1-14/+40
2013-11-09dm cache: io destined for the cache device can now serve as tick biosJoe Thornber1-0/+1
2013-08-23dm cache: eliminate holes in cache structureMike Snitzer1-15/+15
2013-08-23dm cache: fix stacking of geometry limitsMike Snitzer1-2/+10
2013-08-23dm cache: add data block size limits to code and DocumentationMike Snitzer1-7/+10
2013-07-10dm cache: fix arm link errors with inlineMikulas Patocka1-0/+4
2013-05-10dm cache: set config valueJoe Thornber1-28/+31
2013-05-10dm cache: move config fnsAlasdair G Kergon1-17/+17
2013-05-10dm cache: replace memcpy with struct assignmentJoe Thornber1-1/+1
2013-05-10dm cache: fix typos in commentsJoe Thornber1-3/+4
2013-05-10dm cache: tune migration throttlingJoe Thornber1-1/+2
2013-05-10dm cache: fix error return code in cache_createWei Yongjun1-0/+1
2013-04-05dm cache: reduce bio front_pad size in writeback modeMike Snitzer1-13/+34
2013-04-05dm cache: fix writes to cache device in writethrough modeDarrick J. Wong1-0/+4
2013-03-20dm cache: policy ignore hints if generated by different versionMike Snitzer1-2/+1
2013-03-20dm cache: fix race in writethrough implementationJoe Thornber1-50/+88
2013-03-20dm cache: avoid calling policy destructor twice on errorHeinz Mauelshagen1-1/+4
2013-03-20dm cache: detect cache_create failureHeinz Mauelshagen1-0/+2
2013-03-20dm cache: avoid 64 bit division on 32 bitJoe Thornber1-7/+14
2013-03-01dm: add cache targetJoe Thornber1-0/+2584