From: Dexuan Cui <decui@xxxxxxxxxxxxx> Sent: Monday, August 19, 2019 6:52 PM > > The existing method of telling if a channel is sub-channel in > vmbus_process_offer() is cumbersome. This new simple helper function > is preferred in future. > > Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> > --- > include/linux/hyperv.h | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h > index 6256cc3..2d39248 100644 > --- a/include/linux/hyperv.h > +++ b/include/linux/hyperv.h > @@ -245,7 +245,10 @@ struct vmbus_channel_offer { > } pipe; > } u; > /* > - * The sub_channel_index is defined in win8. > + * The sub_channel_index is defined in Win8: a value of zero means a > + * primary channel and a value of non-zero means a sub-channel. > + * > + * Before Win8, the field is reserved, meaning it's always zero. > */ > u16 sub_channel_index; > u16 reserved3; > @@ -934,6 +937,11 @@ static inline bool is_hvsock_channel(const struct vmbus_channel > *c) > VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER); > } > > +static inline bool is_sub_channel(const struct vmbus_channel *c) > +{ > + return c->offermsg.offer.sub_channel_index != 0; > +} > + > static inline void set_channel_affinity_state(struct vmbus_channel *c, > enum hv_numa_policy policy) > { > -- > 1.8.3.1 Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>