>-----Original Message----- >From: linux-rdma-owner@xxxxxxxxxxxxxxx [mailto:linux-rdma- >owner@xxxxxxxxxxxxxxx] On Behalf Of Leon Romanovsky >Sent: Monday, November 19, 2018 3:11 AM >To: Doug Ledford <dledford@xxxxxxxxxx>; Jason Gunthorpe ><jgg@xxxxxxxxxxxx> >Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx>; RDMA mailing list <linux- >rdma@xxxxxxxxxxxxxxx> >Subject: [PATCH rdma-next 03/10] RDMA/uverbs: Replace ib_uverbs_file with >uverbs_attr_bundle for write > >From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > >Now that we can add meta-data to the description of write() methods we >need to pass the uverbs_attr_bundle into all write based handlers so >future patches can use it as a container for any new data transferred out >of the core. > >This is the first step to bringing the write() and ioctl() methods to a >common interface signature. > >This is a simple search/replace, and we push the attr down into the uobj >and other APIs to keep changes minimal. > >Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> >Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> >--- > drivers/infiniband/core/rdma_core.c | 13 +- > drivers/infiniband/core/rdma_core.h | 8 +- > drivers/infiniband/core/uverbs_cmd.c | 301 +++++++++++++------------- > drivers/infiniband/core/uverbs_main.c | 12 +- > drivers/infiniband/core/uverbs_uapi.c | 4 +- > drivers/infiniband/hw/mlx5/devx.c | 2 +- > include/rdma/ib_verbs.h | 2 +- > include/rdma/uverbs_ioctl.h | 10 +- > include/rdma/uverbs_std_types.h | 48 ++-- > 9 files changed, 208 insertions(+), 192 deletions(-) > >diff --git a/drivers/infiniband/core/rdma_core.c >b/drivers/infiniband/core/rdma_core.c >index 752a55c6bdce..cf671a643d4c 100644 >--- a/drivers/infiniband/core/rdma_core.c >+++ b/drivers/infiniband/core/rdma_core.c >@@ -224,12 +224,14 @@ int uobj_destroy(struct ib_uobject *uobj) > * uverbs_put_destroy. > */ > struct ib_uobject *__uobj_get_destroy(const struct uverbs_api_object *obj, >- u32 id, struct ib_uverbs_file *ufile) >+ u32 id, >+ const struct uverbs_attr_bundle *attrs) > { > struct ib_uobject *uobj; > int ret; > >- uobj = rdma_lookup_get_uobject(obj, ufile, id, >UVERBS_LOOKUP_DESTROY); >+ uobj = rdma_lookup_get_uobject(obj, attrs->ufile, id, >+ UVERBS_LOOKUP_DESTROY); Is there a reason that you didn't push attrs into rdma_lookup_get_uobject()? Reviewed-by: Mike Ruhl <michael.j.ruhl@xxxxxxxxx> Mike