Lines Matching refs:d
82 struct nfs4_deviceid_node *d; in _lookup_deviceid() local
84 hlist_for_each_entry_rcu(d, &nfs4_deviceid_cache[hash], node) in _lookup_deviceid()
85 if (d->ld == ld && d->nfs_client == clp && in _lookup_deviceid()
86 !memcmp(&d->deviceid, id, sizeof(*id))) { in _lookup_deviceid()
87 if (atomic_read(&d->ref)) in _lookup_deviceid()
88 return d; in _lookup_deviceid()
100 struct nfs4_deviceid_node *d = NULL; in nfs4_get_device_info() local
150 d = server->pnfs_curr_ld->alloc_deviceid_node(server, pdev, in nfs4_get_device_info()
152 if (d && pdev->nocache) in nfs4_get_device_info()
153 set_bit(NFS_DEVICEID_NOCACHE, &d->flags); in nfs4_get_device_info()
161 dprintk("<-- %s d %p\n", __func__, d); in nfs4_get_device_info()
162 return d; in nfs4_get_device_info()
175 struct nfs4_deviceid_node *d; in __nfs4_find_get_deviceid() local
178 d = _lookup_deviceid(server->pnfs_curr_ld, server->nfs_client, id, in __nfs4_find_get_deviceid()
180 if (d != NULL && !atomic_inc_not_zero(&d->ref)) in __nfs4_find_get_deviceid()
181 d = NULL; in __nfs4_find_get_deviceid()
183 return d; in __nfs4_find_get_deviceid()
192 struct nfs4_deviceid_node *d, *new; in nfs4_find_get_deviceid() local
194 d = __nfs4_find_get_deviceid(server, id, hash); in nfs4_find_get_deviceid()
195 if (d) in nfs4_find_get_deviceid()
196 return d; in nfs4_find_get_deviceid()
203 d = __nfs4_find_get_deviceid(server, id, hash); in nfs4_find_get_deviceid()
204 if (d) { in nfs4_find_get_deviceid()
207 return d; in nfs4_find_get_deviceid()
229 struct nfs4_deviceid_node *d; in nfs4_delete_deviceid() local
233 d = _lookup_deviceid(ld, clp, id, nfs4_deviceid_hash(id)); in nfs4_delete_deviceid()
235 if (!d) { in nfs4_delete_deviceid()
239 hlist_del_init_rcu(&d->node); in nfs4_delete_deviceid()
240 clear_bit(NFS_DEVICEID_NOCACHE, &d->flags); in nfs4_delete_deviceid()
244 nfs4_put_deviceid_node(d); in nfs4_delete_deviceid()
249 nfs4_init_deviceid_node(struct nfs4_deviceid_node *d, struct nfs_server *server, in nfs4_init_deviceid_node() argument
252 INIT_HLIST_NODE(&d->node); in nfs4_init_deviceid_node()
253 INIT_HLIST_NODE(&d->tmpnode); in nfs4_init_deviceid_node()
254 d->ld = server->pnfs_curr_ld; in nfs4_init_deviceid_node()
255 d->nfs_client = server->nfs_client; in nfs4_init_deviceid_node()
256 d->flags = 0; in nfs4_init_deviceid_node()
257 d->deviceid = *id; in nfs4_init_deviceid_node()
258 atomic_set(&d->ref, 1); in nfs4_init_deviceid_node()
273 nfs4_put_deviceid_node(struct nfs4_deviceid_node *d) in nfs4_put_deviceid_node() argument
275 if (test_bit(NFS_DEVICEID_NOCACHE, &d->flags)) { in nfs4_put_deviceid_node()
276 if (atomic_add_unless(&d->ref, -1, 2)) in nfs4_put_deviceid_node()
278 nfs4_delete_deviceid(d->ld, d->nfs_client, &d->deviceid); in nfs4_put_deviceid_node()
280 if (!atomic_dec_and_test(&d->ref)) in nfs4_put_deviceid_node()
282 d->ld->free_deviceid_node(d); in nfs4_put_deviceid_node()
314 struct nfs4_deviceid_node *d; in _deviceid_purge_client() local
319 hlist_for_each_entry_rcu(d, &nfs4_deviceid_cache[hash], node) in _deviceid_purge_client()
320 if (d->nfs_client == clp && atomic_read(&d->ref)) { in _deviceid_purge_client()
321 hlist_del_init_rcu(&d->node); in _deviceid_purge_client()
322 hlist_add_head(&d->tmpnode, &tmp); in _deviceid_purge_client()
323 clear_bit(NFS_DEVICEID_NOCACHE, &d->flags); in _deviceid_purge_client()
332 d = hlist_entry(tmp.first, struct nfs4_deviceid_node, tmpnode); in _deviceid_purge_client()
333 hlist_del(&d->tmpnode); in _deviceid_purge_client()
334 nfs4_put_deviceid_node(d); in _deviceid_purge_client()
355 struct nfs4_deviceid_node *d; in nfs4_deviceid_mark_client_invalid() local
360 hlist_for_each_entry_rcu(d, &nfs4_deviceid_cache[i], node) in nfs4_deviceid_mark_client_invalid()
361 if (d->nfs_client == clp) in nfs4_deviceid_mark_client_invalid()
362 set_bit(NFS_DEVICEID_INVALID, &d->flags); in nfs4_deviceid_mark_client_invalid()