]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
afs: Drop the net parameter from afs_unuse_cell()
authorDavid Howells <dhowells@redhat.com>
Mon, 24 Feb 2025 10:54:04 +0000 (10:54 +0000)
committerDavid Howells <dhowells@redhat.com>
Mon, 10 Mar 2025 09:47:15 +0000 (09:47 +0000)
Remove the redundant net parameter to afs_unuse_cell() as cell->net can be
used instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20250224234154.2014840-12-dhowells@redhat.com/
Link: https://lore.kernel.org/r/20250310094206.801057-8-dhowells@redhat.com/
fs/afs/cell.c
fs/afs/dynroot.c
fs/afs/internal.h
fs/afs/mntpt.c
fs/afs/proc.c
fs/afs/super.c
fs/afs/vl_alias.c
include/trace/events/afs.h

index 73894180f6537009db30e5d1ceac27e7ea8e6c29..acbf35b4c9edcd71cacffc99d7b45241bd14453d 100644 (file)
@@ -339,7 +339,7 @@ cell_already_exists:
                goto wait_for_cell;
        goto error_noput;
 error:
-       afs_unuse_cell(net, cell, afs_cell_trace_unuse_lookup);
+       afs_unuse_cell(cell, afs_cell_trace_unuse_lookup_error);
 error_noput:
        _leave(" = %d [error]", ret);
        return ERR_PTR(ret);
@@ -402,7 +402,7 @@ int afs_cell_init(struct afs_net *net, const char *rootcell)
                                       lockdep_is_held(&net->cells_lock));
        up_write(&net->cells_lock);
 
-       afs_unuse_cell(net, old_root, afs_cell_trace_unuse_ws);
+       afs_unuse_cell(old_root, afs_cell_trace_unuse_ws);
        _leave(" = 0");
        return 0;
 }
@@ -520,7 +520,7 @@ static void afs_cell_destroy(struct rcu_head *rcu)
        trace_afs_cell(cell->debug_id, r, atomic_read(&cell->active), afs_cell_trace_free);
 
        afs_put_vlserverlist(net, rcu_access_pointer(cell->vl_servers));
-       afs_unuse_cell(net, cell->alias_of, afs_cell_trace_unuse_alias);
+       afs_unuse_cell(cell->alias_of, afs_cell_trace_unuse_alias);
        key_put(cell->anonymous_key);
        idr_remove(&net->cells_dyn_ino, cell->dynroot_ino);
        kfree(cell->name - 1);
@@ -608,7 +608,7 @@ struct afs_cell *afs_use_cell(struct afs_cell *cell, enum afs_cell_trace reason)
  * Record a cell becoming less active.  When the active counter reaches 1, it
  * is scheduled for destruction, but may get reactivated.
  */
-void afs_unuse_cell(struct afs_net *net, struct afs_cell *cell, enum afs_cell_trace reason)
+void afs_unuse_cell(struct afs_cell *cell, enum afs_cell_trace reason)
 {
        unsigned int debug_id;
        time64_t now, expire_delay;
@@ -632,7 +632,7 @@ void afs_unuse_cell(struct afs_net *net, struct afs_cell *cell, enum afs_cell_tr
        WARN_ON(a == 0);
        if (a == 1)
                /* 'cell' may now be garbage collected. */
-               afs_set_cell_timer(net, expire_delay);
+               afs_set_cell_timer(cell->net, expire_delay);
 }
 
 /*
@@ -957,7 +957,7 @@ void afs_cell_purge(struct afs_net *net)
        ws = rcu_replace_pointer(net->ws_cell, NULL,
                                 lockdep_is_held(&net->cells_lock));
        up_write(&net->cells_lock);
-       afs_unuse_cell(net, ws, afs_cell_trace_unuse_ws);
+       afs_unuse_cell(ws, afs_cell_trace_unuse_ws);
 
        _debug("del timer");
        if (del_timer_sync(&net->cells_timer))
index 4ff2a396dbd435825dcffd6d903c4839093bec79..011c63350df1c22304458566e7202973ba3259a3 100644 (file)
@@ -125,7 +125,7 @@ static struct dentry *afs_dynroot_lookup_cell(struct inode *dir, struct dentry *
        return d_splice_alias(inode, dentry);
 
 out:
-       afs_unuse_cell(cell->net, cell, afs_cell_trace_unuse_lookup_dynroot);
+       afs_unuse_cell(cell, afs_cell_trace_unuse_lookup_dynroot);
 out_no_cell:
        if (!inode)
                return d_splice_alias(inode, dentry);
@@ -167,7 +167,7 @@ static void afs_dynroot_d_release(struct dentry *dentry)
 {
        struct afs_cell *cell = dentry->d_fsdata;
 
-       afs_unuse_cell(cell->net, cell, afs_cell_trace_unuse_dynroot_mntpt);
+       afs_unuse_cell(cell, afs_cell_trace_unuse_dynroot_mntpt);
 }
 
 /*
index 24b87ae1152448e69a83ee60479ec6f9469f32b1..9c8dfde758c35472d88be1849e6bb461deafdea7 100644 (file)
@@ -1051,7 +1051,7 @@ struct afs_cell *afs_lookup_cell(struct afs_net *net,
                                 const char *vllist, bool excl,
                                 enum afs_cell_trace trace);
 extern struct afs_cell *afs_use_cell(struct afs_cell *, enum afs_cell_trace);
-extern void afs_unuse_cell(struct afs_net *, struct afs_cell *, enum afs_cell_trace);
+void afs_unuse_cell(struct afs_cell *cell, enum afs_cell_trace reason);
 extern struct afs_cell *afs_get_cell(struct afs_cell *, enum afs_cell_trace);
 extern void afs_see_cell(struct afs_cell *, enum afs_cell_trace);
 extern void afs_put_cell(struct afs_cell *, enum afs_cell_trace);
index 4a3edb9990b04849997c978d9d4f7317dd56f8fc..45cee6534122e8d97ccbd09b9f3b166adaa144ab 100644 (file)
@@ -87,7 +87,7 @@ static int afs_mntpt_set_params(struct fs_context *fc, struct dentry *mntpt)
                ctx->force = true;
        }
        if (ctx->cell) {
-               afs_unuse_cell(ctx->net, ctx->cell, afs_cell_trace_unuse_mntpt);
+               afs_unuse_cell(ctx->cell, afs_cell_trace_unuse_mntpt);
                ctx->cell = NULL;
        }
        if (test_bit(AFS_VNODE_PSEUDODIR, &vnode->flags)) {
index fc7027fc3084a3dd4a60d52c831057d3c9053a99..9a3d8eb5da43c2d950f60886864874e64ed76559 100644 (file)
@@ -130,7 +130,7 @@ static int afs_proc_cells_write(struct file *file, char *buf, size_t size)
                }
 
                if (test_and_set_bit(AFS_CELL_FL_NO_GC, &cell->flags))
-                       afs_unuse_cell(net, cell, afs_cell_trace_unuse_no_pin);
+                       afs_unuse_cell(cell, afs_cell_trace_unuse_no_pin);
        } else {
                goto inval;
        }
index aa6a3ccf39b59713d8144165899e932293fb7870..25b306db69926e164c2ed76262d46a77729003af 100644 (file)
@@ -297,7 +297,7 @@ static int afs_parse_source(struct fs_context *fc, struct fs_parameter *param)
                               cellnamesz, cellnamesz, cellname ?: "");
                        return PTR_ERR(cell);
                }
-               afs_unuse_cell(ctx->net, ctx->cell, afs_cell_trace_unuse_parse);
+               afs_unuse_cell(ctx->cell, afs_cell_trace_unuse_parse);
                afs_see_cell(cell, afs_cell_trace_see_source);
                ctx->cell = cell;
        }
@@ -394,7 +394,7 @@ static int afs_validate_fc(struct fs_context *fc)
                                ctx->key = NULL;
                                cell = afs_use_cell(ctx->cell->alias_of,
                                                    afs_cell_trace_use_fc_alias);
-                               afs_unuse_cell(ctx->net, ctx->cell, afs_cell_trace_unuse_fc);
+                               afs_unuse_cell(ctx->cell, afs_cell_trace_unuse_fc);
                                ctx->cell = cell;
                                goto reget_key;
                        }
@@ -520,9 +520,8 @@ static struct afs_super_info *afs_alloc_sbi(struct fs_context *fc)
 static void afs_destroy_sbi(struct afs_super_info *as)
 {
        if (as) {
-               struct afs_net *net = afs_net(as->net_ns);
                afs_put_volume(as->volume, afs_volume_trace_put_destroy_sbi);
-               afs_unuse_cell(net, as->cell, afs_cell_trace_unuse_sbi);
+               afs_unuse_cell(as->cell, afs_cell_trace_unuse_sbi);
                put_net(as->net_ns);
                kfree(as);
        }
@@ -605,7 +604,7 @@ static void afs_free_fc(struct fs_context *fc)
 
        afs_destroy_sbi(fc->s_fs_info);
        afs_put_volume(ctx->volume, afs_volume_trace_put_free_fc);
-       afs_unuse_cell(ctx->net, ctx->cell, afs_cell_trace_unuse_fc);
+       afs_unuse_cell(ctx->cell, afs_cell_trace_unuse_fc);
        key_put(ctx->key);
        kfree(ctx);
 }
index ffcfba1725e6da4087d5ce7150fef539c0902fa5..709b4cdb723eea7eda1ea0f1659acacca29b228d 100644 (file)
@@ -205,11 +205,11 @@ static int afs_query_for_alias(struct afs_cell *cell, struct key *key)
                        goto is_alias;
 
                if (mutex_lock_interruptible(&cell->net->proc_cells_lock) < 0) {
-                       afs_unuse_cell(cell->net, p, afs_cell_trace_unuse_check_alias);
+                       afs_unuse_cell(p, afs_cell_trace_unuse_check_alias);
                        return -ERESTARTSYS;
                }
 
-               afs_unuse_cell(cell->net, p, afs_cell_trace_unuse_check_alias);
+               afs_unuse_cell(p, afs_cell_trace_unuse_check_alias);
        }
 
        mutex_unlock(&cell->net->proc_cells_lock);
index 42c3a51db72b815583c43150f25ffe424db054fc..82d20c28dc0d4b374779e08939a87b218917ac63 100644 (file)
@@ -197,6 +197,7 @@ enum yfs_cm_operation {
        EM(afs_cell_trace_unuse_fc,             "UNU fc    ") \
        EM(afs_cell_trace_unuse_lookup,         "UNU lookup") \
        EM(afs_cell_trace_unuse_lookup_dynroot, "UNU lu-dyn") \
+       EM(afs_cell_trace_unuse_lookup_error,   "UNU lu-err") \
        EM(afs_cell_trace_unuse_mntpt,          "UNU mntpt ") \
        EM(afs_cell_trace_unuse_no_pin,         "UNU no-pin") \
        EM(afs_cell_trace_unuse_parse,          "UNU parse ") \