From: Dexuan Cui <[email protected]> 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 <[email protected]>
> ---
>  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 <[email protected]>

Reply via email to