lkml.org 
[lkml]   [2010]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] block: Make blkdev_issue_discard() interruptible
    On Wed, 15 Sep 2010, Mike Snitzer wrote:

    > On Wed, Sep 15, 2010 at 10:32 AM, Lukas Czerner <lczerner@redhat.com> 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@redhat.com>
    > > ---
    > >  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

    Good to know, thanks a lot. I'll resend the patch shortly.

    -Lukas
    \
     
     \ /
      Last update: 2010-09-15 18:19    [W:0.030 / U:0.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site