On Mon, 19 Aug 2024, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > The patch below does not apply to the 4.19-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. > > To reproduce the conflict and resubmit, you may use the following commands: > > git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-4.19.y > git checkout FETCH_HEAD > git cherry-pick -x 1e1fd567d32fcf7544c6e09e0e5bc6c650da6e23 > # <resolve conflicts, build, test, etc.> > git commit -s > git send-email --to '<stable@xxxxxxxxxxxxxxx>' --in-reply-to '2024081927-smoky-refrain-8af1@gregkh' --subject-prefix 'PATCH 4.19.y' HEAD^.. > > Possible dependencies: > > 1e1fd567d32f ("dm suspend: return -ERESTARTSYS instead of -EINTR") > 85067747cf98 ("dm: do not use waitqueue for request-based DM") > 087615bf3acd ("dm mpath: pass IO start time to path selector") > 5de719e3d01b ("dm mpath: fix missing call of path selector type->end_io") > 645efa84f6c7 ("dm: add memory barrier before waitqueue_active") > 3c94d83cb352 ("blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight()") > c4576aed8d85 ("dm: fix request-based dm's use of dm_wait_for_completion") > b7934ba4147a ("dm: fix inflight IO check") > 6f75723190d8 ("dm: remove the pending IO accounting") > dbd3bbd291a0 ("dm rq: leverage blk_mq_queue_busy() to check for outstanding IO") > 80a787ba3809 ("dm: dont rewrite dm_disk(md)->part0.in_flight") > ae8799125d56 ("blk-mq: provide a helper to check if a queue is busy") > 6a23e05c2fe3 ("dm: remove legacy request-based IO path") > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > >From 1e1fd567d32fcf7544c6e09e0e5bc6c650da6e23 Mon Sep 17 00:00:00 2001 > From: Mikulas Patocka <mpatocka@xxxxxxxxxx> > Date: Tue, 13 Aug 2024 12:38:51 +0200 > Subject: [PATCH] dm suspend: return -ERESTARTSYS instead of -EINTR > > This commit changes device mapper, so that it returns -ERESTARTSYS > instead of -EINTR when it is interrupted by a signal (so that the ioctl > can be restarted). > > The manpage signal(7) says that the ioctl function should be restarted if > the signal was handled with SA_RESTART. > > Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > > diff --git a/drivers/md/dm.c b/drivers/md/dm.c > index 97fab2087df8..87bb90303435 100644 > --- a/drivers/md/dm.c > +++ b/drivers/md/dm.c > @@ -2737,7 +2737,7 @@ static int dm_wait_for_bios_completion(struct mapped_device *md, unsigned int ta > break; > > if (signal_pending_state(task_state, current)) { > - r = -EINTR; > + r = -ERESTARTSYS; > break; > } > > @@ -2762,7 +2762,7 @@ static int dm_wait_for_completion(struct mapped_device *md, unsigned int task_st > break; > > if (signal_pending_state(task_state, current)) { > - r = -EINTR; > + r = -ERESTARTSYS; > break; > } > > Hi Here I'm sending the updated patch for 4.19 and 5.4. Mikulas commit 1e1fd567d32fcf7544c6e09e0e5bc6c650da6e23 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Aug 13 12:38:51 2024 +0200 dm suspend: return -ERESTARTSYS instead of -EINTR This commit changes device mapper, so that it returns -ERESTARTSYS instead of -EINTR when it is interrupted by a signal (so that the ioctl can be restarted). The manpage signal(7) says that the ioctl function should be restarted if the signal was handled with SA_RESTART. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx --- drivers/md/dm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-stable/drivers/md/dm.c =================================================================== --- linux-stable.orig/drivers/md/dm.c +++ linux-stable/drivers/md/dm.c @@ -2468,7 +2468,7 @@ static int dm_wait_for_completion(struct break; if (signal_pending_state(task_state, current)) { - r = -EINTR; + r = -ERESTARTSYS; break; }