diff --git a/patches.suse/dm-remove-flush_scheduled_work-during-local_exit-0b22.patch b/patches.suse/dm-remove-flush_scheduled_work-during-local_exit-0b22.patch new file mode 100644 index 0000000..638fe1b --- /dev/null +++ b/patches.suse/dm-remove-flush_scheduled_work-during-local_exit-0b22.patch @@ -0,0 +1,43 @@ +From 0b22ff5360f5c4e11050b89206370fdf7dc0a226 Mon Sep 17 00:00:00 2001 +From: Mike Snitzer +Date: Tue, 14 Feb 2023 13:06:05 -0500 +Subject: [PATCH] dm: remove flush_scheduled_work() during local_exit() +Git-commit: 0b22ff5360f5c4e11050b89206370fdf7dc0a226 +Patch-mainline: v6.3-rc1 +References: git-fixes + +Commit acfe0ad74d2e1 ("dm: allocate a special workqueue for deferred +device removal") switched from using system workqueue to a single +workqueue local to DM. But it didn't eliminate the call to +flush_scheduled_work() that was introduced purely for the benefit of +deferred device removal with commit 2c140a246dc ("dm: allow remove to +be deferred"). + +Since DM core uses its own workqueue (and queue_work) there is no need +to call flush_scheduled_work() from local_exit(). local_exit()'s +destroy_workqueue(deferred_remove_workqueue) handles flushing work +started with queue_work(). + +Fixes: acfe0ad74d2e1 ("dm: allocate a special workqueue for deferred device removal") +Signed-off-by: Mike Snitzer +Signed-off-by: Coly Li + +--- + drivers/md/dm.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/drivers/md/dm.c b/drivers/md/dm.c +index 50dc1f4e4615..90b64bfc63b0 100644 +--- a/drivers/md/dm.c ++++ b/drivers/md/dm.c +@@ -233,7 +233,6 @@ static int __init local_init(void) + + static void local_exit(void) + { +- flush_scheduled_work(); + destroy_workqueue(deferred_remove_workqueue); + + unregister_blkdev(_major, _name); +-- +2.35.3 + diff --git a/series.conf b/series.conf index 50b947b..682abd6 100644 --- a/series.conf +++ b/series.conf @@ -40071,6 +40071,7 @@ patches.suse/dm-flakey-fix-a-bug-with-32-bit-highmem-systems-8eb2.patch patches.suse/dm-flakey-fix-logic-when-corrupting-a-bio-aa56.patch patches.suse/dm-send-just-one-event-on-resize-not-two-7533.patch + patches.suse/dm-remove-flush_scheduled_work-during-local_exit-0b22.patch patches.suse/dm-add-cond_resched-to-dm_wq_requeue_work-f776.patch patches.suse/scsi-libsas-Remove-useless-dev_list-delete-in-sas_ex_discover_end_dev.patch patches.suse/scsi-qla2xxx-check-if-port-is-online-before-sending-els.patch