RFCv2: fix fatal signal handling in __blkdev_issue_discard

Christoph Hellwig
2024-03-12T14:45:40Z

Hi all,

this tries to address the block for-next oops Chandan reported on XFS.
I can't actually reproduce it unfortunately, but this series should
sort it out by movign the fatal_signal_pending check out of all but
the ioctl path. The write_zeroes and secure_erase path will need
similar treatment eventually.

Tested with blktests and the xfstests discard group for xfs only.

Changes since v1:
- open code the fatal signal logic in the ioctl handler
- better bio-level helpers
- drop the file system cleanups for now

Diffstat:
block/bio.c | 48 +++++++++++++++++++++++----
block/blk-lib.c | 90 +++++++++++++++-------------------------------------
block/blk.h | 1
block/ioctl.c | 35 +++++++++++++++++---
include/linux/bio.h | 4 ++
5 files changed, 102 insertions(+), 76 deletions(-)