Lines Matching refs:ctrlr
38 return &ns->ctrlr->nsdata[ns->id - 1];
43 struct nvme_ctrlr *ctrlr = ns->ctrlr;
48 ret = nvme_admin_identify_ns(ctrlr, ns->id, nsdata);
57 ns->sectors_per_max_io = ctrlr->max_xfer_size / sector_size;
62 if (ctrlr->cdata.oncs.dsm)
65 if (ctrlr->cdata.vwc.present)
68 if (ctrlr->cdata.oncs.write_zeroes)
90 int nvme_ns_construct(struct nvme_ctrlr *ctrlr, struct nvme_ns *ns,
95 ns->ctrlr = ctrlr;
99 nvme_pcicfg_read32(ctrlr->pci_dev, &pci_devid, 0);
100 if (pci_devid == INTEL_DC_P3X00_DEVID && ctrlr->cdata.vs[3] != 0)
101 ns->stripe_size = (1 << ctrlr->cdata.vs[3])
102 * ctrlr->min_page_size;
110 struct nvme_ns *nvme_ns_open(struct nvme_ctrlr *ctrlr, unsigned int ns_id)
114 pthread_mutex_lock(&ctrlr->lock);
116 if (ns_id >= 1 && ns_id <= ctrlr->nr_ns) {
117 ns = &ctrlr->ns[ns_id - 1];
121 pthread_mutex_unlock(&ctrlr->lock);
132 struct nvme_ctrlr *ctrlr;
137 ctrlr = ns->ctrlr;
139 ns->id > ctrlr->nr_ns ||
140 ns != &ctrlr->ns[ns->id - 1])
143 pthread_mutex_lock(&ctrlr->lock);
149 if (ns->id > ctrlr->nr_ns ||
150 ns != &ctrlr->ns[ns->id - 1] ||
152 pthread_mutex_unlock(&ctrlr->lock);
156 return ctrlr;
164 struct nvme_ctrlr *ctrlr;
166 ctrlr = nvme_ns_ctrlr_lock(ns);
167 if (!ctrlr) {
174 pthread_mutex_unlock(&ctrlr->lock);
184 struct nvme_ctrlr *ctrlr;
186 ctrlr = nvme_ns_ctrlr_lock(ns);
187 if (!ctrlr) {
199 pthread_mutex_unlock(&ctrlr->lock);
209 struct nvme_ctrlr *ctrlr;
211 ctrlr = nvme_ns_ctrlr_lock(ns);
212 if (!ctrlr) {
219 pthread_mutex_unlock(&ctrlr->lock);