[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 13.05.11 at 10:15, "Jan Beulich" <JBeulich@xxxxxxxxxx> 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> > > (I wonder how this ever passed any testing.) Hmm, I think if this really wasn't *that* bad. In particular I'm finding that neither pv-ops nor the legacy tree has anything called suspend_mutex in drivers/xen/xenbus/xenbus_xs.c, nor is there any other mutex being up_read()-ed in transaction_end(). What got corrupted by the double call was transaction_count, which would have had a negative effect at the next transaction_suspend() (but not at any subsequent transaction_start()). Jan > The same would be needed for pv-ops too afaics. > > 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |