]> Git Repo - linux.git/blobdiff - fs/afs/proc.c
lib/test: introduce cpumask KUnit test suite
[linux.git] / fs / afs / proc.c
index e8babb62ed44230d2a9de5dc6db3ad0b50bc8710..e1b863449296c32a93408d72ba1c88a0c7ddf944 100644 (file)
@@ -38,7 +38,7 @@ static int afs_proc_cells_show(struct seq_file *m, void *v)
 
        if (v == SEQ_START_TOKEN) {
                /* display header on line 1 */
-               seq_puts(m, "USE    TTL SV ST NAME\n");
+               seq_puts(m, "USE ACT    TTL SV ST NAME\n");
                return 0;
        }
 
@@ -46,10 +46,11 @@ static int afs_proc_cells_show(struct seq_file *m, void *v)
        vllist = rcu_dereference(cell->vl_servers);
 
        /* display one cell per line on subsequent lines */
-       seq_printf(m, "%3u %6lld %2u %2u %s\n",
-                  atomic_read(&cell->usage),
+       seq_printf(m, "%3u %3u %6lld %2u %2u %s\n",
+                  atomic_read(&cell->ref),
+                  atomic_read(&cell->active),
                   cell->dns_expiry - ktime_get_real_seconds(),
-                  vllist->nr_servers,
+                  vllist ? vllist->nr_servers : 0,
                   cell->state,
                   cell->name);
        return 0;
@@ -128,7 +129,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_put_cell(net, cell);
+                       afs_unuse_cell(net, cell, afs_cell_trace_unuse_no_pin);
        } else {
                goto inval;
        }
@@ -154,13 +155,11 @@ static int afs_proc_rootcell_show(struct seq_file *m, void *v)
        struct afs_net *net;
 
        net = afs_seq2net_single(m);
-       if (rcu_access_pointer(net->ws_cell)) {
-               rcu_read_lock();
-               cell = rcu_dereference(net->ws_cell);
-               if (cell)
-                       seq_printf(m, "%s\n", cell->name);
-               rcu_read_unlock();
-       }
+       down_read(&net->cells_lock);
+       cell = net->ws_cell;
+       if (cell)
+               seq_printf(m, "%s\n", cell->name);
+       up_read(&net->cells_lock);
        return 0;
 }
 
@@ -228,7 +227,7 @@ static int afs_proc_cell_volumes_show(struct seq_file *m, void *v)
 static void *afs_proc_cell_volumes_start(struct seq_file *m, loff_t *_pos)
        __acquires(cell->proc_lock)
 {
-       struct afs_cell *cell = PDE_DATA(file_inode(m->file));
+       struct afs_cell *cell = pde_data(file_inode(m->file));
 
        rcu_read_lock();
        return seq_hlist_start_head_rcu(&cell->proc_volumes, *_pos);
@@ -237,7 +236,7 @@ static void *afs_proc_cell_volumes_start(struct seq_file *m, loff_t *_pos)
 static void *afs_proc_cell_volumes_next(struct seq_file *m, void *v,
                                        loff_t *_pos)
 {
-       struct afs_cell *cell = PDE_DATA(file_inode(m->file));
+       struct afs_cell *cell = pde_data(file_inode(m->file));
 
        return seq_hlist_next_rcu(v, &cell->proc_volumes, _pos);
 }
@@ -323,7 +322,7 @@ static void *afs_proc_cell_vlservers_start(struct seq_file *m, loff_t *_pos)
 {
        struct afs_vl_seq_net_private *priv = m->private;
        struct afs_vlserver_list *vllist;
-       struct afs_cell *cell = PDE_DATA(file_inode(m->file));
+       struct afs_cell *cell = pde_data(file_inode(m->file));
        loff_t pos = *_pos;
 
        rcu_read_lock();
This page took 0.029777 seconds and 4 git commands to generate.