qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 15/21] rbd: Handle failure for potentially la


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH v3 15/21] rbd: Handle failure for potentially large allocations
Date: Thu, 5 Jun 2014 15:29:06 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 03.06.2014 um 17:43 hat Benoît Canet geschrieben:
> The Tuesday 03 Jun 2014 à 15:10:56 (+0200), Kevin Wolf wrote :
> > Some code in the block layer makes potentially huge allocations. Failure
> > is not completely unexpected there, so avoid aborting qemu and handle
> > out-of-memory situations gracefully.
> > 
> > This patch addresses the allocations in the rbd block driver.
> > 
> > Signed-off-by: Kevin Wolf <address@hidden>
> > Reviewed-by: Stefan Hajnoczi <address@hidden>
> > ---
> >  block/rbd.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/block/rbd.c b/block/rbd.c
> > index 09af484..d0b2329 100644
> > --- a/block/rbd.c
> > +++ b/block/rbd.c
> > @@ -623,7 +623,7 @@ static BlockDriverAIOCB *rbd_start_aio(BlockDriverState 
> > *bs,
> >                                         RBDAIOCmd cmd)
> >  {
> >      RBDAIOCB *acb;
> > -    RADOSCB *rcb;
> > +    RADOSCB *rcb = NULL;
> >      rbd_completion_t c;
> >      int64_t off, size;
> >      char *buf;
> > @@ -637,7 +637,10 @@ static BlockDriverAIOCB 
> > *rbd_start_aio(BlockDriverState *bs,
> >      if (cmd == RBD_AIO_DISCARD || cmd == RBD_AIO_FLUSH) {
> >          acb->bounce = NULL;
> >      } else {
> > -        acb->bounce = qemu_blockalign(bs, qiov->size);
> > +        acb->bounce = qemu_try_blockalign(bs, qiov->size);
> I am under the impression that acb->bounce will be leaked in next goto failed.

Yes, I think you're right. That's a preexisting problem, though. I'll
fix it in a patch independent from this series.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]