This patch is on the similar concept which is posted earlier:- https://marc.info/?l=linux-block&m=157321402002207&w=2. This allows zone-mgmt ops to handle SIGKILL. Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx> --- In case someone is interested here is the test on null blk with added prints for zoneid. Without this patch :- # blkzone reset -o 0 -c 1000 /dev/nullb0 ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C [ 174.115065] null_blk: null_zone_mgmt 163 zoneid 993 [ 174.125071] null_blk: null_zone_mgmt 163 zoneid 994 [ 174.135076] null_blk: null_zone_mgmt 163 zoneid 995 [ 174.145082] null_blk: null_zone_mgmt 163 zoneid 996 [ 174.155087] null_blk: null_zone_mgmt 163 zoneid 997 [ 174.165091] null_blk: null_zone_mgmt 163 zoneid 998 [ 174.175096] null_blk: null_zone_mgmt 163 zoneid 999 With this patch :- # blkzone reset -o 0 -c 1000 /dev/nullb0 ^C [ 211.889379] null_blk: null_zone_mgmt 163 zoneid 191 [ 211.899420] null_blk: null_zone_mgmt 163 zoneid 192 [ 211.909424] null_blk: null_zone_mgmt 163 zoneid 193 --- block/blk-zoned.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/blk-zoned.c b/block/blk-zoned.c index 481eaf7d04d4..07ff2b75e6d7 100644 --- a/block/blk-zoned.c +++ b/block/blk-zoned.c @@ -17,6 +17,7 @@ #include <linux/mm.h> #include <linux/vmalloc.h> #include <linux/sched/mm.h> +#include <linux/sched/signal.h> #include "blk.h" @@ -287,6 +288,8 @@ int blkdev_zone_mgmt(struct block_device *bdev, enum req_opf op, /* This may take a while, so be nice to others */ cond_resched(); + if (fatal_signal_pending(current)) + break; } ret = submit_bio_wait(bio); -- 2.22.1