[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH net v3 1/1] xen-netback: Handle backend state transitions in a more robust way
> -----Original Message----- > From: Paul Durrant > Sent: 24 September 2013 16:31 > To: Wei Liu > Cc: xen-devel@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; Ian Campbell; Wei Liu; > David Vrabel > Subject: RE: [PATCH net v3 1/1] xen-netback: Handle backend state > transitions in a more robust way > > > -----Original Message----- > > From: Wei Liu [mailto:wei.liu2@xxxxxxxxxx] > > Sent: 24 September 2013 16:26 > > To: Paul Durrant > > Cc: xen-devel@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; Ian Campbell; Wei > Liu; > > David Vrabel > > Subject: Re: [PATCH net v3 1/1] xen-netback: Handle backend state > > transitions in a more robust way > > > > On Tue, Sep 24, 2013 at 03:51:22PM +0100, Paul Durrant wrote: > > > When the frontend state changes metback now specifies its desired state > > to > > netback > > > a new function, set_backend_state(), which transitions through any > > [...] > > > +/* Handle backend state transitions: > > > + * > > > + * The backend state starts in InitWait and the following transtions are > > transitions > > > + * allowed. > > > > > [...] > > > @@ -363,7 +448,9 @@ static void hotplug_status_changed(struct > > xenbus_watch *watch, > > > if (IS_ERR(str)) > > > return; > > > if (len == sizeof("connected")-1 && !memcmp(str, "connected", len)) > > { > > > - xenbus_switch_state(be->dev, XenbusStateConnected); > > > + /* Complete any pending state change */ > > > + xenbus_switch_state(be->dev, be->state); > > > + > > > > The state transition takes place iff hotplug status is "connected", is > > this desirable? What if hotplug fails? > > > > The xenbus state will remain in InitWait but the backend state will be > Connected. > > > If it cycles through connect again it looks like it will trigger that > > BUG_ON in connect()? > > > > No, I don't think so because be->state is not the same as dev->state. The > frontend can go to Closing/Closed (which will take dev->state to > Closing/Closed) and this should be fine. > Sorry, I misread. You're right. I'll fix. Paul _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |