Lines Matching refs:ds
74 cinfo->ds->nwritten--; in pnfs_generic_clear_request_commit()
102 cinfo->ds->nwritten -= ret; in pnfs_generic_scan_ds_commit_list()
103 cinfo->ds->ncommitting += ret; in pnfs_generic_scan_ds_commit_list()
123 for (i = 0; i < cinfo->ds->nbuckets && max != 0; i++) { in pnfs_generic_scan_commit_lists()
124 cnt = pnfs_generic_scan_ds_commit_list(&cinfo->ds->buckets[i], in pnfs_generic_scan_commit_lists()
144 for (i = 0, b = cinfo->ds->buckets; i < cinfo->ds->nbuckets; i++, b++) { in pnfs_generic_recover_commit_reqs()
148 cinfo->ds->nwritten -= nwritten; in pnfs_generic_recover_commit_reqs()
161 struct pnfs_ds_commit_info *fl_cinfo = cinfo->ds; in pnfs_generic_retry_commit()
176 cinfo->ds->ncommitting--; in pnfs_generic_retry_commit()
196 fl_cinfo = cinfo->ds; in pnfs_generic_alloc_ds_commits()
222 bucket = &cinfo->ds->buckets[data->ds_commit_index]; in pnfs_fetch_commit_bucket_list()
225 cinfo->ds->ncommitting--; in pnfs_fetch_commit_bucket_list()
328 print_ds(struct nfs4_pnfs_ds *ds) in print_ds() argument
330 if (ds == NULL) { in print_ds()
338 ds->ds_remotestr, in print_ds()
339 refcount_read(&ds->ds_count), ds->ds_clp, in print_ds()
340 ds->ds_clp ? ds->ds_clp->cl_exchange_flags : 0); in print_ds()
419 struct nfs4_pnfs_ds *ds; in _data_server_lookup_locked() local
421 list_for_each_entry(ds, &nfs4_data_server_cache, ds_node) in _data_server_lookup_locked()
422 if (_same_data_server_addrs_locked(&ds->ds_addrs, dsaddrs)) in _data_server_lookup_locked()
423 return ds; in _data_server_lookup_locked()
427 static void destroy_ds(struct nfs4_pnfs_ds *ds) in destroy_ds() argument
433 print_ds(ds); in destroy_ds()
435 nfs_put_client(ds->ds_clp); in destroy_ds()
437 while (!list_empty(&ds->ds_addrs)) { in destroy_ds()
438 da = list_first_entry(&ds->ds_addrs, in destroy_ds()
446 kfree(ds->ds_remotestr); in destroy_ds()
447 kfree(ds); in destroy_ds()
450 void nfs4_pnfs_ds_put(struct nfs4_pnfs_ds *ds) in nfs4_pnfs_ds_put() argument
452 if (refcount_dec_and_lock(&ds->ds_count, in nfs4_pnfs_ds_put()
454 list_del_init(&ds->ds_node); in nfs4_pnfs_ds_put()
456 destroy_ds(ds); in nfs4_pnfs_ds_put()
517 struct nfs4_pnfs_ds *tmp_ds, *ds = NULL; in nfs4_pnfs_ds_add() local
525 ds = kzalloc(sizeof(*ds), gfp_flags); in nfs4_pnfs_ds_add()
526 if (!ds) in nfs4_pnfs_ds_add()
535 INIT_LIST_HEAD(&ds->ds_addrs); in nfs4_pnfs_ds_add()
536 list_splice_init(dsaddrs, &ds->ds_addrs); in nfs4_pnfs_ds_add()
537 ds->ds_remotestr = remotestr; in nfs4_pnfs_ds_add()
538 refcount_set(&ds->ds_count, 1); in nfs4_pnfs_ds_add()
539 INIT_LIST_HEAD(&ds->ds_node); in nfs4_pnfs_ds_add()
540 ds->ds_clp = NULL; in nfs4_pnfs_ds_add()
541 list_add(&ds->ds_node, &nfs4_data_server_cache); in nfs4_pnfs_ds_add()
543 ds->ds_remotestr); in nfs4_pnfs_ds_add()
546 kfree(ds); in nfs4_pnfs_ds_add()
551 ds = tmp_ds; in nfs4_pnfs_ds_add()
555 return ds; in nfs4_pnfs_ds_add()
559 static void nfs4_wait_ds_connect(struct nfs4_pnfs_ds *ds) in nfs4_wait_ds_connect() argument
562 wait_on_bit(&ds->ds_state, NFS4DS_CONNECTING, in nfs4_wait_ds_connect()
566 static void nfs4_clear_ds_conn_bit(struct nfs4_pnfs_ds *ds) in nfs4_clear_ds_conn_bit() argument
569 clear_bit(NFS4DS_CONNECTING, &ds->ds_state); in nfs4_clear_ds_conn_bit()
571 wake_up_bit(&ds->ds_state, NFS4DS_CONNECTING); in nfs4_clear_ds_conn_bit()
601 struct nfs4_pnfs_ds *ds, in _nfs4_pnfs_v3_ds_connect() argument
609 dprintk("--> %s DS %s\n", __func__, ds->ds_remotestr); in _nfs4_pnfs_v3_ds_connect()
614 list_for_each_entry(da, &ds->ds_addrs, da_node) { in _nfs4_pnfs_v3_ds_connect()
616 __func__, ds->ds_remotestr, da->da_remotestr); in _nfs4_pnfs_v3_ds_connect()
642 ds->ds_clp = clp; in _nfs4_pnfs_v3_ds_connect()
643 dprintk("%s [new] addr: %s\n", __func__, ds->ds_remotestr); in _nfs4_pnfs_v3_ds_connect()
649 struct nfs4_pnfs_ds *ds, in _nfs4_pnfs_v4_ds_connect() argument
658 dprintk("--> %s DS %s\n", __func__, ds->ds_remotestr); in _nfs4_pnfs_v4_ds_connect()
660 list_for_each_entry(da, &ds->ds_addrs, da_node) { in _nfs4_pnfs_v4_ds_connect()
662 __func__, ds->ds_remotestr, da->da_remotestr); in _nfs4_pnfs_v4_ds_connect()
715 ds->ds_clp = clp; in _nfs4_pnfs_v4_ds_connect()
716 dprintk("%s [new] addr: %s\n", __func__, ds->ds_remotestr); in _nfs4_pnfs_v4_ds_connect()
726 int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds, in nfs4_pnfs_ds_connect() argument
734 if (test_and_set_bit(NFS4DS_CONNECTING, &ds->ds_state) == 0) { in nfs4_pnfs_ds_connect()
736 err = _nfs4_pnfs_v3_ds_connect(mds_srv, ds, timeo, in nfs4_pnfs_ds_connect()
739 err = _nfs4_pnfs_v4_ds_connect(mds_srv, ds, timeo, in nfs4_pnfs_ds_connect()
747 nfs4_clear_ds_conn_bit(ds); in nfs4_pnfs_ds_connect()
749 nfs4_wait_ds_connect(ds); in nfs4_pnfs_ds_connect()
752 if (!ds->ds_clp && !nfs4_test_deviceid_unavailable(devid)) in nfs4_pnfs_ds_connect()
761 if (!ds->ds_clp || !nfs_client_init_is_complete(ds->ds_clp)) { in nfs4_pnfs_ds_connect()
762 WARN_ON_ONCE(ds->ds_clp || in nfs4_pnfs_ds_connect()
766 err = nfs_client_init_status(ds->ds_clp); in nfs4_pnfs_ds_connect()
931 buckets = cinfo->ds->buckets; in pnfs_layout_mark_request_commit()
949 cinfo->ds->nwritten++; in pnfs_layout_mark_request_commit()