]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
RDMA/restrack: Refactor user/kernel restrack additions
authorLeon Romanovsky <leonro@mellanox.com>
Wed, 30 Jan 2019 10:49:05 +0000 (12:49 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 31 Jan 2019 04:20:23 +0000 (21:20 -0700)
Since we already know if we are user/kernel before calling restrack_add,
move type dependent code into the callers to make the flow more readable.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/restrack.c

index 0ade3da0a5c793cadfe9e859c65316a3630c7e37..bd7770ed41747626c4ff4528a6f77f32a9591774 100644 (file)
@@ -177,17 +177,6 @@ static void rdma_restrack_add(struct rdma_restrack_entry *res)
        if (!dev)
                return;
 
-       if (res->type != RDMA_RESTRACK_CM_ID || rdma_is_kernel_res(res))
-               res->task = NULL;
-
-       if (!rdma_is_kernel_res(res)) {
-               if (!res->task)
-                       rdma_restrack_set_task(res, NULL);
-               res->kern_name = NULL;
-       } else {
-               set_kern_name(res);
-       }
-
        kref_init(&res->kref);
        init_completion(&res->comp);
        res->valid = true;
@@ -203,6 +192,8 @@ static void rdma_restrack_add(struct rdma_restrack_entry *res)
  */
 void rdma_restrack_kadd(struct rdma_restrack_entry *res)
 {
+       res->task = NULL;
+       set_kern_name(res);
        res->user = false;
        rdma_restrack_add(res);
 }
@@ -214,6 +205,13 @@ EXPORT_SYMBOL(rdma_restrack_kadd);
  */
 void rdma_restrack_uadd(struct rdma_restrack_entry *res)
 {
+       if (res->type != RDMA_RESTRACK_CM_ID)
+               res->task = NULL;
+
+       if (!res->task)
+               rdma_restrack_set_task(res, NULL);
+       res->kern_name = NULL;
+
        res->user = true;
        rdma_restrack_add(res);
 }