From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH linux-2.6.18-xen] fix xenbus_transaction_start() hang caused by double xenbus_transaction_end() Date: Fri, 13 May 2011 09:15:00 +0100 Message-ID: <4DCD04A402000078000412DD@vpn.id2.novell.com> References: <4DCBB551.7000002@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <4DCBB551.7000002@redhat.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Laszlo Ersek Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org >>> On 12.05.11 at 12:24, Laszlo Ersek wrote: > fix xenbus_transaction_start() hang caused by double xenbus_transaction_e= nd() >=20 > 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. >=20 > See RHBZ#618317. >=20 > Thanks for considering. >=20 > Signed-off-by: Laszlo Ersek Acked-by: Jan Beulich (I wonder how this ever passed any testing.) The same would be needed for pv-ops too afaics. Jan > --- > drivers/xen/blkback/vbd.c | 1 + > 1 file changed, 1 insertion(+) >=20 > 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); > } >=20 >=20 > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com=20 > http://lists.xensource.com/xen-devel=20