Re: [PATCH rdma-next v3 1/2] RDMA: Add indication for in kernel API support to IB device

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

 



On Wed, Jan 09, 2019 at 05:43:40PM +0200, Leon Romanovsky wrote:
> On Wed, Jan 09, 2019 at 08:32:40AM -0700, Jason Gunthorpe wrote:
> > On Wed, Jan 09, 2019 at 10:44:56AM +0200, Leon Romanovsky wrote:
> > > On Tue, Jan 08, 2019 at 04:39:21PM -0700, Jason Gunthorpe wrote:
> > > > On Tue, Jan 08, 2019 at 09:55:54PM +0000, Majd Dibbiny wrote:
> > > > > > @@ -537,11 +538,13 @@ static int setup_device(struct ib_device *device)
> > > > > >    }
> > > > > >
> > > > > >    memset(&device->attrs, 0, sizeof(device->attrs));
> > > > > > -    ret = device->ops.query_device(device, &device->attrs, &uhw);
> > > > > > -    if (ret) {
> > > > > > -        dev_warn(&device->dev,
> > > > > > -             "Couldn't query the device attributes\n");
> > > > > > -        goto port_cleanup;
> > > > > > +    if (device->ops.query_device) {
> > > >
> > > > > Why do we need these kind of checks now?  In case device doesn’t
> > > > > implement all mandatory kverbs, then clients won’t add it.. uverbs
> > > > > has uverbs_cmd_mask in write path, and checks function pointer in
> > > > > the ioctl path..  Maybe I’m missing something..
> > > >
> > > > Yah, I agree, the checks should be in the uverbs layer, and presumably
> > > > they are all there already, it just needs careful checking.
> > >
> > > Didn't we plan to remove uverbs_cmd_mask and move to != NULL checks?
> >
> > The uverbs layer now uses the NULL checks exhaustively, I think.
> 
> So, what does it mean "Yah, I agree,"? Are you agree to check in uverbs
> layer and remove uverbs_cmd_mask?

That we should generally rely on existing uverbs checks and the new
no-clients model. The cmd_mask and NULL checks should be equivilent
right now.

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