Merge tag 'rtc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
[linux-2.6-microblaze.git] / fs / afs / proc.c
index e8babb6..065a28b 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;
 }