Re: [PATCH 1/3] RDMA: Move rdma_node_type to uapi/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 10, 2019 at 06:05:44PM +0300, Leon Romanovsky wrote:
> On Mon, Jun 10, 2019 at 02:45:40PM +0000, Jason Gunthorpe wrote:
> > On Mon, Jun 10, 2019 at 05:13:34PM +0300, Leon Romanovsky wrote:
> > > On Wed, Jun 05, 2019 at 03:32:50PM -0300, Jason Gunthorpe wrote:
> > > > From: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> > > >
> > > > This enum is exposed over the sysfs file 'node_type' and over netlink via
> > > > RDMA_NLDEV_ATTR_DEV_NODE_TYPE, so declare it in the uapi headers.
> > > >
> > > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> > > >  drivers/infiniband/core/verbs.c  |  2 +-
> > > >  include/rdma/ib_verbs.h          | 13 +------------
> > > >  include/uapi/rdma/rdma_netlink.h | 12 ++++++++++++
> > > >  3 files changed, 14 insertions(+), 13 deletions(-)
> > > >
> > > > diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
> > > > index e666a1f7608d86..56af18456ba776 100644
> > > > +++ b/drivers/infiniband/core/verbs.c
> > > > @@ -209,7 +209,7 @@ __attribute_const__ int ib_rate_to_mbps(enum ib_rate rate)
> > > >  EXPORT_SYMBOL(ib_rate_to_mbps);
> > > >
> > > >  __attribute_const__ enum rdma_transport_type
> > > > -rdma_node_get_transport(enum rdma_node_type node_type)
> > > > +rdma_node_get_transport(unsigned int node_type)
> > > >  {
> > > >
> > > >  	if (node_type == RDMA_NODE_USNIC)
> > > > diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> > > > index cdfeeda1db7f31..d5dd3cb7fcf702 100644
> > > > +++ b/include/rdma/ib_verbs.h
> > > > @@ -132,17 +132,6 @@ struct ib_gid_attr {
> > > >  	u8			port_num;
> > > >  };
> > > >
> > > > -enum rdma_node_type {
> > >
> > > Why did you drop "enum rdma_node_type" and changed to be anonymous enum?
> >
> > To avoid namespace pollution in a user header
> 
> IMHO, better to have type safety.

The enum type cannot be safely used in userspace, it is better to have
anonymous enums in uapi headers to avoid mistakes.

The type safety from enums is very minimal.

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux