[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YPfHXpFtB1RJ4yjU@unreal>
Date: Wed, 21 Jul 2021 10:06:06 +0300
From: Leon Romanovsky <leon@...nel.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: Doug Ledford <dledford@...hat.com>,
Jason Gunthorpe <jgg@...dia.com>, linux-kernel@...r.kernel.org,
linux-rdma@...r.kernel.org, Mark Zhang <markz@...lanox.com>
Subject: Re: [PATCH rdma-next 7/7] RDMA/core: Create clean QP creations
interface for uverbs
On Wed, Jul 21, 2021 at 07:48:48AM +0100, Christoph Hellwig wrote:
> > +struct ib_qp *ib_create_qp_user(struct ib_device *dev, struct ib_pd *pd,
> > + struct ib_qp_init_attr *attr,
> > + struct ib_udata *udata,
> > + struct ib_uqp_object *uobj, const char *caller);
> > +static inline struct ib_qp *ib_create_qp_uverbs(struct ib_device *dev,
> > + struct ib_pd *pd,
> > + struct ib_qp_init_attr *attr,
> > + struct ib_udata *udata,
> > + struct ib_uqp_object *uobj)
> > +{
> > + if (attr->qp_type == IB_QPT_XRC_TGT)
> > + return ib_create_qp_user(dev, pd, attr, NULL, uobj,
> > + KBUILD_MODNAME);
> > +
> > + return ib_create_qp_user(dev, pd, attr, udata, uobj, NULL);
>
> Why not always pass along the udata and caller and just not use them
> in the low-level code?
You will need to add some sort of "if qp tpye" for ib_create_qp_uverbs() callers,
because they always provide udata != NULL.
After this series, the callers look like this:
1438 qp = ib_create_qp_uverbs(device, pd, &attr, &attrs->driver_udata, obj);
^^^^^^^^^ not NULL
So instead of bothering callers, I implemented it here with one "if".
Thanks
Powered by blists - more mailing lists