Lines Matching defs:lvs
48 struct spdk_lvol_store *lvs = NULL;
52 lvs = lvs_bdev->lvs;
53 if (lvs == lvs_orig) {
55 /* We do not allow access to lvs that are being unloaded or
57 SPDK_DEBUGLOG(vbdev_lvol, "lvs %s: removal in progress\n",
80 * while we changed lvs name earlier, we have to iterate alias list to get one,
128 /* We do not allow access to lvs that are being unloaded or
130 SPDK_DEBUGLOG(vbdev_lvol, "lvs %s: removal in progress\n",
131 lvs_bdev->lvs->name);
151 spdk_bdev_get_name(bdev), lvs_bdev->lvs->name);
152 vbdev_lvs_unload(lvs_bdev->lvs, NULL, NULL);
171 _vbdev_lvs_create_cb(void *cb_arg, struct spdk_lvol_store *lvs, int lvserrno)
179 assert(lvs == NULL);
191 assert(lvs != NULL);
198 lvs_bdev->lvs = lvs;
206 req->cb_fn(req->cb_arg, lvs, lvserrno);
321 /* We have to pass current lvol name, since only lvs name changed */
331 vbdev_lvs_rename(struct spdk_lvol_store *lvs, const char *new_lvs_name,
338 lvs_bdev = vbdev_get_lvs_bdev_by_lvs(lvs);
353 req->lvol_store = lvs;
355 spdk_lvs_rename(lvs, new_lvs_name, _vbdev_lvs_rename_cb, req);
381 struct spdk_lvol_store *lvs = lvs_bdev->lvs;
388 if (TAILQ_EMPTY(&lvs->lvols)) {
389 spdk_lvs_destroy(lvs, _vbdev_lvs_remove_cb, lvs_bdev);
393 lvol = TAILQ_FIRST(&lvs->lvols);
403 SPDK_ERRLOG("Lvols left in lvs, but unable to delete.\n");
408 _vbdev_lvs_are_lvols_closed(struct spdk_lvol_store *lvs)
412 TAILQ_FOREACH(lvol, &lvs->lvols, link) {
424 struct spdk_lvol_store *lvs = lvs_bdev->lvs;
431 if (_vbdev_lvs_are_lvols_closed(lvs)) {
432 spdk_lvs_unload(lvs, _vbdev_lvs_remove_cb, lvs_bdev);
437 _vbdev_lvs_remove(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, void *cb_arg,
444 lvs_bdev = vbdev_get_lvs_bdev_by_lvs(lvs);
468 if (_vbdev_lvs_are_lvols_closed(lvs)) {
470 spdk_lvs_destroy(lvs, _vbdev_lvs_remove_cb, lvs_bdev);
473 spdk_lvs_unload(lvs, _vbdev_lvs_remove_cb, lvs_bdev);
480 TAILQ_FOREACH_SAFE(lvol, &lvs->lvols, link, tmp) {
490 vbdev_lvs_unload(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, void *cb_arg)
492 _vbdev_lvs_remove(lvs, cb_fn, cb_arg, false);
496 vbdev_lvs_destruct(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, void *cb_arg)
498 _vbdev_lvs_remove(lvs, cb_fn, cb_arg, true);
508 SPDK_INFOLOG(vbdev_lvol, "Starting lvolstore iteration at %p\n", lvs_bdev->lvs);
526 SPDK_INFOLOG(vbdev_lvol, "Continuing lvolstore iteration at %p\n", lvs_bdev->lvs);
535 struct spdk_lvol_store *lvs = NULL;
539 lvs = lvs_bdev->lvs;
540 if (spdk_uuid_compare(&lvs->uuid, uuid) == 0) {
541 return lvs;
563 struct spdk_lvol_store *lvs = NULL;
567 lvs = lvs_bdev->lvs;
568 if (strncmp(lvs->name, name, sizeof(lvs->name)) == 0) {
569 return lvs;
605 if (g_shutdown_started && _vbdev_lvs_are_lvols_closed(lvs_bdev->lvs)) {
606 spdk_lvs_unload(lvs_bdev->lvs, _vbdev_lvol_unregister_unload_lvs, lvol_bdev);
713 struct spdk_lvol_store *lvs;
718 lvs = lvol->lvol_store;
720 assert(lvs);
722 TAILQ_FOREACH(_lvol, &lvs->lvols, link) {
1020 struct spdk_lvol_store *lvs;
1023 lvs = lvol->lvol_store;
1024 base_bdev = lvs->bs_dev->get_base_bdev(lvol->lvol_store->bs_dev);
1149 SPDK_ERRLOG("No spdk lvs-bdev pair found for lvol %s\n", lvol->unique_id);
1195 alias = spdk_sprintf_alloc("%s/%s", lvs_bdev->lvs->name, lvol->name);
1231 vbdev_lvol_create(struct spdk_lvol_store *lvs, const char *name, uint64_t sz,
1245 rc = spdk_lvol_create(lvs, name, sz, thin_provision, clear_method,
1297 struct spdk_lvol_store *lvs, const char *clone_name,
1307 if (lvs == NULL) {
1341 rc = spdk_lvol_create_esnap_clone(bdev_uuid, sizeof(bdev_uuid), sz, lvs, clone_name,
1510 struct spdk_lvol_store *lvs;
1513 lvs = lvs_bdev->lvs;
1515 if (_vbdev_lvs_are_lvols_closed(lvs)) {
1516 spdk_lvs_unload(lvs, vbdev_lvs_fini_start_unload_cb, lvs_bdev);
1556 struct spdk_lvol_store *lvs = req->lvol_store;
1559 TAILQ_REMOVE(&lvs->lvols, lvol, link);
1561 TAILQ_INSERT_TAIL(&lvs->retry_open_lvols, lvol, link);
1565 lvs->lvol_count--;
1572 lvs->lvol_count--;
1576 lvs->lvols_opened++;
1580 if (!TAILQ_EMPTY(&lvs->retry_open_lvols)) {
1581 lvol = TAILQ_FIRST(&lvs->retry_open_lvols);
1582 TAILQ_REMOVE(&lvs->retry_open_lvols, lvol, link);
1583 TAILQ_INSERT_HEAD(&lvs->lvols, lvol, link);
1587 if (lvs->lvols_opened >= lvs->lvol_count) {
1649 "Name for lvolstore on device %s conflicts with name for already loaded lvs\n",
1677 lvs_bdev->lvs = lvol_store;
1899 struct spdk_lvol_store *lvs = bs_ctx;
1959 rc = spdk_lvs_esnap_missing_add(lvs, lvol, uuid_str, sizeof(uuid_str));