Lines Matching refs:blob
15 /* Default blob channel opts for lvol */
34 static int lvs_esnap_bs_dev_create(void *bs_ctx, void *blob_ctx, struct spdk_blob *blob,
130 lvol_open_cb(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
141 lvol->blob = blob;
200 load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
232 blob_id = spdk_blob_get_id(blob);
236 spdk_bs_iter_next(bs, blob, load_next_lvol, req);
248 * Do not store a reference to blob now because spdk_bs_iter_next() will close it.
254 rc = spdk_blob_get_xattr_value(blob, "uuid", (const void **)&attr, &value_len);
271 rc = spdk_blob_get_xattr_value(blob, "name", (const void **)&attr, &value_len);
288 spdk_bs_iter_next(bs, blob, load_next_lvol, req);
299 SPDK_INFOLOG(lvol, "Could not close super blob\n");
323 lvs_read_uuid(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
333 SPDK_INFOLOG(lvol, "Could not open super blob\n");
340 rc = spdk_blob_get_xattr_value(blob, "uuid", (const void **)&attr, &value_len);
344 spdk_blob_close(blob, close_super_blob_with_error_cb, req);
351 spdk_blob_close(blob, close_super_blob_with_error_cb, req);
355 rc = spdk_blob_get_xattr_value(blob, "name", (const void **)&attr, &value_len);
359 spdk_blob_close(blob, close_super_blob_with_error_cb, req);
369 spdk_blob_close(blob, close_super_blob_with_error_cb, req);
373 lvs->super_blob_id = spdk_blob_get_id(blob);
375 spdk_blob_close(blob, close_super_cb, req);
386 SPDK_INFOLOG(lvol, "Super blob not found\n");
511 SPDK_ERRLOG("Lvol store init failed: could not close super blob\n");
525 struct spdk_blob *blob = lvs->super_blob;
528 SPDK_ERRLOG("Lvol store init failed: could not set uuid for super blob\n");
533 spdk_blob_close(blob, super_create_close_cb, req);
541 struct spdk_blob *blob = lvs->super_blob;
545 SPDK_ERRLOG("Lvol store init failed: could not set super blob\n");
552 spdk_blob_set_xattr(blob, "uuid", uuid, sizeof(uuid));
553 spdk_blob_set_xattr(blob, "name", lvs->name, strnlen(lvs->name, SPDK_LVS_NAME_MAX) + 1);
554 spdk_blob_sync_md(blob, super_blob_set_cb, req);
558 super_blob_create_open_cb(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
564 SPDK_ERRLOG("Lvol store init failed: could not open super blob\n");
569 lvs->super_blob = blob;
570 lvs->super_blob_id = spdk_blob_get_id(blob);
583 SPDK_ERRLOG("Lvol store init failed: could not create super blob\n");
613 /* create super blob */
787 struct spdk_blob *blob = req->lvol_store->super_blob;
793 spdk_blob_close(blob, lvs_rename_cb, req);
797 lvs_rename_open_cb(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
807 rc = spdk_blob_set_xattr(blob, "name", req->lvol_store->new_name,
815 req->lvol_store->super_blob = blob;
817 spdk_blob_sync_md(blob, lvs_rename_sync_cb, req);
979 SPDK_INFOLOG(lvol, "Deleting super blob\n");
992 SPDK_ERRLOG("Could not close blob on lvol\n");
997 lvol->blob = NULL;
1023 SPDK_ERRLOG("Could not remove blob on lvol gracefully - forced removal\n");
1031 * A degraded esnap clone that has a blob clone has been deleted. clone_lvol
1051 lvol_create_open_cb(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
1065 lvol->blob = blob;
1066 lvol->blob_id = spdk_blob_get_id(blob);
1101 * needed until after the blob is open. When the blob is not an esnap clone, a reference to
1110 * degraded esnap clone. The previous clone is now a regular clone of a blob. Update
1311 origblob = origlvol->blob;
1372 origblob = origlvol->blob;
1435 spdk_blob_sync_md(lvol->blob, lvol_resize_done, req);
1442 struct spdk_blob *blob = lvol->blob;
1457 spdk_blob_resize(blob, new_clusters, lvol_blob_resize_cb, req);
1483 spdk_blob_set_read_only(lvol->blob);
1484 spdk_blob_sync_md(lvol->blob, lvol_set_read_only_cb, req);
1507 struct spdk_blob *blob = lvol->blob;
1538 rc = spdk_blob_set_xattr(blob, "name", new_name, strlen(new_name) + 1);
1545 spdk_blob_sync_md(blob, lvol_rename_cb, req);
1638 spdk_blob_close(lvol->blob, lvol_close_blob_cb, req);
1693 blob_id = spdk_blob_get_id(lvol->blob);
1729 blob_id = spdk_blob_get_id(lvol->blob);
1819 lvs_esnap_bs_dev_create(void *bs_ctx, void *blob_ctx, struct spdk_blob *blob,
1825 spdk_blob_id blob_id = spdk_blob_get_id(blob);
1838 * up a list of lvols (lvs->lvols). During this initial iteration, each blob is opened,
1849 spdk_blob_id blob_id = spdk_blob_get_id(blob);
1858 SPDK_ERRLOG("lvstore %s: no lvol for blob 0x%" PRIx64 "\n",
1864 return lvs->esnap_bs_dev_create(lvs, lvol, blob, esnap_id, id_len, bs_dev);
2057 rc = lvs->esnap_bs_dev_create(lvs, lvol, lvol->blob, esnap_id, id_len, &bs_dev);
2071 spdk_blob_set_esnap_bs_dev(lvol->blob, bs_dev, lvs_esnap_hotplug_done, req);
2162 SPDK_ERRLOG("lvol %s: unable to get clone blob IDs: %d\n", lvol->unique_id, rc);
2170 SPDK_NOTICELOG("lvol %s: unable to find clone lvol with blob id 0x%"
2176 SPDK_DEBUGLOG(lvol, "lvol %s: iteration stopped when lvol %s (blob 0x%"
2235 struct spdk_blob *blob = lvol->blob;
2237 if (blob == NULL) {
2240 return spdk_blob_is_degraded(blob);
2298 blob_id = spdk_blob_get_id(lvol->blob);
2357 blob_id = spdk_blob_get_id(lvol->blob);
2358 snapshot_id = spdk_blob_get_id(snapshot->blob);
2408 rc = lvs_esnap_bs_dev_create(lvol->lvol_store, lvol, lvol->blob, esnap_id, esnap_id_len, &bs_dev);
2426 blob_id = spdk_blob_get_id(lvol->blob);