On Wed, Sep 15, 2010 at 10:32 AM, Lukas Czerner <lczerner@xxxxxxxxxx> wrote: > Since the discard may take quite long time, especially with really big > extents (like the whole device for example), it would be nice to give to > users the opportunity to abort it. This is especially useful for mkfs, > when user can not know in advance how long it will take. > > In conjunction with mke2fs patch "Inform user about ongoing discard" > it gives the user all the comfort of being informed about discard and > being able to abort the operation. > > Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> > --- > block/blk-lib.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/block/blk-lib.c b/block/blk-lib.c > index d0216b9..4f54a1a 100644 > --- a/block/blk-lib.c > +++ b/block/blk-lib.c > @@ -102,6 +102,11 @@ int blkdev_issue_discard(struct block_device *bdev, sector_t sector, > else if (!bio_flagged(bio, BIO_UPTODATE)) > ret = -EIO; > bio_put(bio); > + > + if (signal_pending(current)) { > + ret = -ERESTARTSYS; > + break; > + } > } > return ret; > out_free_page: Neil Brown recently suggested the use of fatal_signal_pending() rather than signal_epnding() in another thread: http://lkml.org/lkml/2010/9/12/232 I think Neil's suggestion applies here too? Mike -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html