Joe Thornber
e10062afd6
dm space maps: don't reset space map allocation cursor when committing
...
[ Upstream commit 5faafc77f7de69147d1e818026b9a0cbf036a7b2 ]
Current commit code resets the place where the search for free blocks
will begin back to the start of the metadata device. There are a couple
of repercussions to this:
- The first allocation after the commit is likely to take longer than
normal as it searches for a free block in an area that is likely to
have very few free blocks (if any).
- Any free blocks it finds will have been recently freed. Reusing them
means we have fewer old copies of the metadata to aid recovery from
hardware error.
Fix these issues by leaving the cursor alone, only resetting when the
search hits the end of the metadata device.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-19 08:53:09 +02:00
..
bcache
bcache: Move journal work to new flush wq
2021-03-04 10:26:43 +01:00
persistent-data
dm space maps: don't reset space map allocation cursor when committing
2021-07-19 08:53:09 +02:00
dm-bio-prison-v1.c
dm-bio-prison-v1.h
dm-bio-prison-v2.c
dm-bio-prison-v2.h
dm-bio-record.h
dm bio record: save/restore bi_end_io and bi_integrity
2020-03-25 08:25:48 +01:00
dm-bufio.c
dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size
2021-03-09 11:09:37 +01:00
dm-builtin.c
dm-cache-background-tracker.c
dm-cache-background-tracker.h
dm-cache-block-types.h
dm-cache-metadata.c
dm cache metadata: Avoid returning cmd->bm wild pointer on error
2020-09-09 19:12:35 +02:00
dm-cache-metadata.h
dm-cache-policy-internal.h
dm-cache-policy-smq.c
dm-cache-policy.c
dm-cache-policy.h
dm-cache-target.c
dm cache: fix a crash due to incorrect work item cancelling
2020-03-12 13:00:23 +01:00
dm-clone-metadata.c
dm clone: Fix handling of partial region discards
2020-04-17 10:50:24 +02:00
dm-clone-metadata.h
dm clone: replace spin_lock_irqsave with spin_lock_irq
2020-04-17 10:50:23 +02:00
dm-clone-target.c
dm clone: Add missing casts to prevent overflows and data corruption
2020-04-17 10:50:24 +02:00
dm-core.h
dm: fix deadlock when swapping to encrypted device
2021-03-04 10:26:51 +01:00
dm-crypt.c
dm: fix deadlock when swapping to encrypted device
2021-03-04 10:26:51 +01:00
dm-delay.c
dm-dust.c
dm-era-target.c
dm era: Update in-core bitset after committing the metadata
2021-03-04 10:26:53 +01:00
dm-exception-store.c
dm-exception-store.h
dm-flakey.c
dm-init.c
dm-integrity.c
dm integrity: fix missing goto in bitmap_flush_interval error handling
2021-05-11 14:04:18 +02:00
dm-io.c
dm-ioctl.c
dm ioctl: fix out of bounds array access when no devices
2021-03-30 14:35:24 +02:00
dm-kcopyd.c
dm-linear.c
dm-log-userspace-base.c
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log-writes.c
dm-log.c
dm-mpath.c
dm mpath: fix racey management of PG initialization
2020-09-09 19:12:35 +02:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c
dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences
2021-05-11 14:04:15 +02:00
dm-raid1.c
dm raid1: use struct_size() with kzalloc()
2019-08-26 11:05:32 -04:00
dm-region-hash.c
dm-round-robin.c
dm-rq.c
dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails
2021-05-11 14:04:18 +02:00
dm-rq.h
dm-service-time.c
dm-snap-persistent.c
block: fix an integer overflow in logical block size
2020-01-23 08:22:32 +01:00
dm-snap-transient.c
dm-snap.c
dm snapshot: properly fix a crash when an origin has no snapshots
2021-06-03 08:59:02 +02:00
dm-stats.c
dm stats: use struct_size() helper
2019-09-04 09:39:22 -04:00
dm-stats.h
dm-stripe.c
dm-switch.c
dm-sysfs.c
dm-table.c
dm table: fix zoned iterate_devices based device capability checks
2021-03-11 14:06:49 +01:00
dm-target.c
dm-thin-metadata.c
dm thin metadata: Fix use-after-free in dm_bm_set_read_only
2020-09-09 19:12:36 +02:00
dm-thin-metadata.h
dm thin metadata: Add support for a pre-commit callback
2019-12-21 11:05:01 +01:00
dm-thin.c
dm thin: don't allow changing data device during thin-pool reload
2020-02-24 08:36:49 +01:00
dm-uevent.c
dm-uevent.h
dm-unstripe.c
dm-verity-fec.c
dm verity fec: fix misaligned RS roots IO
2021-04-21 12:56:15 +02:00
dm-verity-fec.h
dm verity fec: fix misaligned RS roots IO
2021-04-21 12:56:15 +02:00
dm-verity-target.c
dm verity: fix DM_VERITY_OPTS_MAX value
2021-03-30 14:35:24 +02:00
dm-verity-verify-sig.c
dm verity: fix require_signatures module_param permissions
2021-06-16 11:59:37 +02:00
dm-verity-verify-sig.h
dm-verity.h
dm-writecache.c
dm writecache: fix writing beyond end of underlying device when shrinking
2021-03-04 10:26:51 +01:00
dm-zero.c
dm-zoned-metadata.c
dm zoned: return NULL if dmz_get_zone_for_reclaim() fails to find a zone
2020-06-24 17:50:31 +02:00
dm-zoned-reclaim.c
dm zoned: return NULL if dmz_get_zone_for_reclaim() fails to find a zone
2020-06-24 17:50:31 +02:00
dm-zoned-target.c
dm zoned: assign max_io_len correctly
2020-07-09 09:37:57 +02:00
dm-zoned.h
dm zoned: reduce overhead of backing device checks
2019-12-17 19:56:12 +01:00
dm.c
dm table: fix DAX iterate_devices based device capability checks
2021-03-11 14:06:49 +01:00
dm.h
dm table: fix DAX iterate_devices based device capability checks
2021-03-11 14:06:49 +01:00
Kconfig
dm integrity: select CRYPTO_SKCIPHER
2021-01-27 11:47:42 +01:00
Makefile
dm: add clone target
2019-09-12 09:32:31 -04:00
md-bitmap.c
md/bitmap: wait for external bitmap writes to complete during tear down
2021-05-14 09:44:12 +02:00
md-bitmap.h
md-cluster.c
md/cluster: fix deadlock when node is doing resync job
2020-12-30 11:51:45 +01:00
md-cluster.h
md-faulty.c
md-linear.c
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 19:56:14 +01:00
md-linear.h
md-multipath.c
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 19:56:14 +01:00
md-multipath.h
md.c
md: Fix missing unused status line of /proc/mdstat
2021-05-14 09:44:13 +02:00
md.h
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 19:56:14 +01:00
raid0.c
block: fix an integer overflow in logical block size
2020-01-23 08:22:32 +01:00
raid0.h
md/raid0: avoid RAID0 data corruption due to layout confusion.
2019-09-13 13:10:05 -07:00
raid1-10.c
raid1.c
md/raid1: properly indicate failure when ending a failed write request
2021-05-11 14:04:15 +02:00
raid1.h
raid5-cache.c
raid5-log.h
raid5-ppl.c
raid5.c
md/raid5: fix oops during stripe resizing
2020-11-05 11:43:22 +01:00
raid5.h
raid5: use bio_end_sector in r5_next_bio
2019-09-13 13:14:43 -07:00
raid10.c
md/raid10: initialize r10_bio->read_slot before use.
2021-01-06 14:48:35 +01:00
raid10.h