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

Re: [Xen-devel] [PATCH linux-2.6.18-xen] fix xenbus_transaction_start() hang caused by double xenbus_transaction_end()



On Fri, 2011-05-13 at 09:15 +0100, Jan Beulich wrote:
> >>> On 12.05.11 at 12:24, Laszlo Ersek <lersek@xxxxxxxxxx> wrote:
> > fix xenbus_transaction_start() hang caused by double 
> > xenbus_transaction_end()
> > 
> > vbd_resize() up_read()'s xs_state.suspend_mutex twice in a row via double
> > xenbus_transaction_end() calls. The next down_read() in
> > xenbus_transaction_start() (at eg. the next resize attempt) hangs.
> > 
> > See RHBZ#618317.
> > 
> > Thanks for considering.
> > 
> > Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
> 
> Acked-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> (I wonder how this ever passed any testing.)

Indeed.

> The same would be needed for pv-ops too afaics.

Agreed, maintainers CCd.

Ian.

> 
> Jan
> 
> > ---
> >  drivers/xen/blkback/vbd.c |    1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/xen/blkback/vbd.c b/drivers/xen/blkback/vbd.c
> > --- a/drivers/xen/blkback/vbd.c
> > +++ b/drivers/xen/blkback/vbd.c
> > @@ -156,6 +156,7 @@
> >             goto again;
> >     if (err)
> >             printk(KERN_WARNING "Error ending transaction");
> > +   return;
> >  abort:
> >     xenbus_transaction_end(xbt, 1);
> >  }
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx 
> > http://lists.xensource.com/xen-devel 
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.