Lines Matching full:net

65 static int __net_init afs_net_init(struct net *net_ns)  in afs_net_init()
68 struct afs_net *net = afs_net(net_ns); in afs_net_init() local
71 net->net = net_ns; in afs_net_init()
72 net->live = true; in afs_net_init()
73 generate_random_uuid((unsigned char *)&net->uuid); in afs_net_init()
75 INIT_WORK(&net->charge_preallocation_work, afs_charge_preallocation); in afs_net_init()
76 INIT_WORK(&net->rx_oob_work, afs_process_oob_queue); in afs_net_init()
77 mutex_init(&net->socket_mutex); in afs_net_init()
79 net->cells = RB_ROOT; in afs_net_init()
80 idr_init(&net->cells_dyn_ino); in afs_net_init()
81 init_rwsem(&net->cells_lock); in afs_net_init()
82 mutex_init(&net->cells_alias_lock); in afs_net_init()
83 mutex_init(&net->proc_cells_lock); in afs_net_init()
84 INIT_HLIST_HEAD(&net->proc_cells); in afs_net_init()
86 seqlock_init(&net->fs_lock); in afs_net_init()
87 INIT_LIST_HEAD(&net->fs_probe_fast); in afs_net_init()
88 INIT_LIST_HEAD(&net->fs_probe_slow); in afs_net_init()
89 INIT_HLIST_HEAD(&net->fs_proc); in afs_net_init()
91 INIT_WORK(&net->fs_prober, afs_fs_probe_dispatcher); in afs_net_init()
92 timer_setup(&net->fs_probe_timer, afs_fs_probe_timer, 0); in afs_net_init()
93 atomic_set(&net->servers_outstanding, 1); in afs_net_init()
102 net->sysnames = sysnames; in afs_net_init()
103 rwlock_init(&net->sysnames_lock); in afs_net_init()
106 ret = afs_proc_init(net); in afs_net_init()
111 ret = afs_cell_init(net, rootcell); in afs_net_init()
116 ret = afs_open_socket(net); in afs_net_init()
123 net->live = false; in afs_net_init()
124 afs_fs_probe_cleanup(net); in afs_net_init()
125 afs_cell_purge(net); in afs_net_init()
126 afs_wait_for_servers(net); in afs_net_init()
128 net->live = false; in afs_net_init()
129 afs_proc_cleanup(net); in afs_net_init()
131 afs_put_sysnames(net->sysnames); in afs_net_init()
133 idr_destroy(&net->cells_dyn_ino); in afs_net_init()
134 net->live = false; in afs_net_init()
141 static void __net_exit afs_net_exit(struct net *net_ns) in afs_net_exit()
143 struct afs_net *net = afs_net(net_ns); in afs_net_exit() local
145 net->live = false; in afs_net_exit()
146 afs_fs_probe_cleanup(net); in afs_net_exit()
147 afs_cell_purge(net); in afs_net_exit()
148 afs_wait_for_servers(net); in afs_net_exit()
149 afs_close_socket(net); in afs_net_exit()
150 afs_proc_cleanup(net); in afs_net_exit()
151 afs_put_sysnames(net->sysnames); in afs_net_exit()
152 idr_destroy(&net->cells_dyn_ino); in afs_net_exit()
153 kfree_rcu(rcu_access_pointer(net->address_prefs), rcu); in afs_net_exit()
191 afs_proc_symlink = proc_symlink("fs/afs", NULL, "../self/net/afs"); in afs_init()
218 late_initcall(afs_init); /* must be called after net/ to create socket */