android_kernel_motorola_sm6375/drivers/md
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joe Thornber 81cd6ceee7 dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
commit 1e4ab7b4c881cf26c1c72b3f56519e03475486fb upstream.

When using the cleaner policy to decommission the cache, there is
never any writeback started from the cache as it is constantly delayed
due to normal I/O keeping the device busy. Meaning @idle=false was
always being passed to clean_target_met()

Fix this by adding a specific 'cleaner' flag that is set when the
cleaner policy is configured. This flag serves to always allow the
cleaner's writeback work to be queued until the cache is
decommissioned (even if the cache isn't idle).

Reported-by: David Jeffery <djeffery@redhat.com>
Fixes: b29d4986d0 ("dm cache: significant rework to leverage dm-bio-prison-v2")
Cc: stable@vger.kernel.org
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-11 11:53:53 +02:00
..
bcache bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent 2023-08-11 11:53:44 +02:00
persistent-data dm space map common: add bounds check to sm_ll_lookup_bitmap() 2022-01-27 09:19:46 +01: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-bufio.c
dm-builtin.c
dm-cache-background-tracker.c
dm-cache-background-tracker.h
dm-cache-block-types.h
dm-cache-metadata.c dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort 2023-01-18 11:41:46 +01:00
dm-cache-metadata.h
dm-cache-policy-internal.h
dm-cache-policy-smq.c dm cache policy smq: ensure IO doesn't prevent cleaner policy progress 2023-08-11 11:53:53 +02:00
dm-cache-policy.c
dm-cache-policy.h
dm-cache-target.c dm cache: add cond_resched() to various workqueue loops 2023-03-11 16:43:58 +01:00
dm-clone-metadata.c
dm-clone-metadata.h
dm-clone-target.c dm clone: call kmem_cache_destroy() in dm_clone_init() error path 2023-05-17 11:35:56 +02:00
dm-core.h
dm-crypt.c dm crypt: add cond_resched() to dmcrypt_write() 2023-04-05 11:16:41 +02:00
dm-delay.c
dm-dust.c
dm-era-target.c dm era: commit metadata in postsuspend after worker stops 2022-06-29 08:58:45 +02:00
dm-exception-store.c
dm-exception-store.h
dm-flakey.c dm flakey: fix a crash with invalid table line 2023-05-17 11:35:56 +02:00
dm-init.c
dm-integrity.c dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path 2023-05-17 11:35:56 +02:00
dm-io.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
dm-ioctl.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +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 mirror log: clear log bits up to BITS_PER_LONG boundary 2022-06-29 08:58:45 +02:00
dm-mpath.c
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c
dm-raid.c dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths 2023-08-11 11:53:49 +02:00
dm-raid1.c
dm-region-hash.c
dm-round-robin.c
dm-rq.c
dm-rq.h
dm-service-time.c
dm-snap-persistent.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
dm-snap-transient.c
dm-snap.c
dm-stats.c dm stats: check for and propagate alloc_percpu failure 2023-04-05 11:16:41 +02:00
dm-stats.h dm stats: check for and propagate alloc_percpu failure 2023-04-05 11:16:41 +02:00
dm-stripe.c
dm-switch.c
dm-sysfs.c
dm-table.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
dm-target.c
dm-thin-metadata.c dm thin: Use last transaction's pmd->root when commit failed 2023-01-18 11:41:47 +01:00
dm-thin-metadata.h
dm-thin.c dm thin: fix deadlock when swapping to thin device 2023-04-05 11:16:40 +02:00
dm-uevent.c
dm-uevent.h
dm-unstripe.c
dm-verity-fec.c
dm-verity-fec.h
dm-verity-target.c dm verity: fix error handling for check_at_most_once on FEC 2023-05-17 11:35:57 +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: set a default MAX_WRITEBACK_JOBS 2022-08-25 11:18:14 +02:00
dm-zero.c
dm-zoned-metadata.c
dm-zoned-reclaim.c
dm-zoned-target.c
dm-zoned.h
dm.c dm stats: check for and propagate alloc_percpu failure 2023-04-05 11:16:41 +02:00
dm.h
Kconfig
Makefile
md-bitmap.c md/raid10: check slab-out-of-bounds in md_bitmap_get_counter 2023-07-27 08:37:04 +02:00
md-bitmap.h
md-cluster.c
md-cluster.h
md-faulty.c
md-linear.c
md-linear.h
md-multipath.c
md-multipath.h
md.c md: fix data corruption for raid456 when reshape restart while grow up 2023-07-27 08:37:41 +02:00
md.h
raid0.c md/raid0: add discard support for the 'original' layout 2023-07-27 08:37:37 +02:00
raid0.h md/raid0: add discard support for the 'original' layout 2023-07-27 08:37:37 +02:00
raid1-10.c
raid1.c md/raid1: stop mdx_raid1 thread when raid1 array run failed 2023-01-18 11:41:37 +01:00
raid1.h
raid5-cache.c
raid5-log.h
raid5-ppl.c
raid5.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
raid5.h
raid10.c md/raid10: prevent soft lockup while flush writes 2023-07-27 08:37:41 +02:00
raid10.h