This can be an operation with very long latenc, if terabytes are requested.
Signed-off-by: Kent Overstreet <[email protected]> --- fs/bcachefs/fs-io.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index 717e7b94c66f..3dcb0a165401 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -626,6 +626,10 @@ static noinline int __bchfs_fallocate(struct bch_inode_info *inode, int mode, u64 hole_start, hole_end; u32 snapshot; + ret = unlikely(signal_pending(current)) ? -ERESTARTSYS : 0; + if (ret) + break; + bch2_trans_begin(trans); if (bkey_ge(iter.pos, end_pos)) -- 2.49.0
