afs: Push the net ns pointer to more places

Push the network namespace pointer to more places in AFS, including the
afs_server structure (which doesn't hold a ref on the netns).

In particular, afs_put_cell() now takes requires a net ns parameter so that
it can safely alter the netns after decrementing the cell usage count - the
cell will be deallocated by a background thread after being cached for a
period, which means that it's not safe to access it after reducing its
usage count.

Signed-off-by: David Howells <dhowells@redhat.com>
Šī revīzija ir iekļauta:
David Howells
2017-11-02 15:27:46 +00:00
vecāks 49566f6f06
revīzija 9ed900b116
11 mainīti faili ar 56 papildinājumiem un 56 dzēšanām

Parādīt failu

@@ -437,7 +437,7 @@ void afs_evict_inode(struct inode *inode)
spin_lock(&vnode->server->fs_lock);
rb_erase(&vnode->server_rb, &vnode->server->fs_vnodes);
spin_unlock(&vnode->server->fs_lock);
afs_put_server(vnode->server);
afs_put_server(afs_i2net(inode), vnode->server);
vnode->server = NULL;
}