[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH] Use correct location when multi-queues are not used.
> -----Original Message----- > From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-devel- > bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Owen Smith > Sent: 19 January 2015 16:24 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith > Subject: [win-pv-devel] [PATCH] Use correct location when multi-queues are > not used. > > When the backend does not support multi-queues, or the frontend has > explicitly disallowed multi-queues, the frontend needs to write > event-channel and ring-references to the non-queued (old) locations, > not under device/vif/<id>/queue-<index> > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> Acked-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > src/xenvif/frontend.c | 3 --- > src/xenvif/receiver.c | 9 +++++++-- > src/xenvif/transmitter.c | 9 +++++++-- > 3 files changed, 14 insertions(+), 7 deletions(-) > > diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c > index d2643fc..12b6287 100644 > --- a/src/xenvif/frontend.c > +++ b/src/xenvif/frontend.c > @@ -237,9 +237,6 @@ FrontendFormatPath( > PCHAR Path; > NTSTATUS status; > > - if (__FrontendGetQueueCount(Frontend) == 1) > - return __FrontendGetPath(Frontend); > - > Length = (ULONG)(strlen(__FrontendGetPath(Frontend)) + > strlen("/queue-00") + > 1) * sizeof (CHAR); > diff --git a/src/xenvif/receiver.c b/src/xenvif/receiver.c > index 8856bca..a53a03f 100644 > --- a/src/xenvif/receiver.c > +++ b/src/xenvif/receiver.c > @@ -2291,15 +2291,20 @@ __ReceiverRingStoreWrite( > PXENVIF_RECEIVER Receiver; > PXENVIF_FRONTEND Frontend; > ULONG Port; > + PCHAR Path; > NTSTATUS status; > > Receiver = Ring->Receiver; > Frontend = Receiver->Frontend; > > + Path = (FrontendGetQueueCount(Frontend) == 1 && Ring->Index == 0) ? > + FrontendGetPath(Frontend) : > + Ring->Path; > + > status = XENBUS_STORE(Printf, > &Receiver->StoreInterface, > Transaction, > - Ring->Path, > + Path, > "rx-ring-ref", > "%u", > GranterGetReference(FrontendGetGranter(Frontend), > @@ -2315,7 +2320,7 @@ __ReceiverRingStoreWrite( > status = XENBUS_STORE(Printf, > &Receiver->StoreInterface, > Transaction, > - Ring->Path, > + Path, > Receiver->Split ? "event-channel-rx" : > "event-channel", > "%u", > Port); > diff --git a/src/xenvif/transmitter.c b/src/xenvif/transmitter.c > index 24fd6a5..aa55f1c 100644 > --- a/src/xenvif/transmitter.c > +++ b/src/xenvif/transmitter.c > @@ -3127,15 +3127,20 @@ __TransmitterRingStoreWrite( > PXENVIF_TRANSMITTER Transmitter; > PXENVIF_FRONTEND Frontend; > ULONG Port; > + PCHAR Path; > NTSTATUS status; > > Transmitter = Ring->Transmitter; > Frontend = Transmitter->Frontend; > > + Path = (FrontendGetQueueCount(Frontend) == 1 && Ring->Index == 0) ? > + FrontendGetPath(Frontend) : > + Ring->Path; > + > status = XENBUS_STORE(Printf, > &Transmitter->StoreInterface, > Transaction, > - Ring->Path, > + Path, > "tx-ring-ref", > "%u", > GranterGetReference(FrontendGetGranter(Frontend), > @@ -3154,7 +3159,7 @@ __TransmitterRingStoreWrite( > status = XENBUS_STORE(Printf, > &Transmitter->StoreInterface, > Transaction, > - Ring->Path, > + Path, > "event-channel-tx", > "%u", > Port); > -- > 1.9.4.msysgit.1 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |