Lines Matching defs:blob_bdev
9 #include "spdk/blob_bdev.h"
17 struct blob_bdev {
44 return ((struct blob_bdev *)dev)->desc;
50 return ((struct blob_bdev *)dev)->bdev;
244 struct blob_bdev *blob_bdev = (struct blob_bdev *)dev;
247 if (spdk_bdev_io_type_supported(blob_bdev->bdev, SPDK_BDEV_IO_TYPE_UNMAP)) {
341 struct blob_bdev *blob_bdev = (struct blob_bdev *)bs_dev;
342 struct spdk_bdev_desc *desc = blob_bdev->desc;
346 claim_type = blob_bdev->write ? SPDK_BDEV_CLAIM_READ_MANY_WRITE_ONE :
360 struct blob_bdev *blob_bdev = (struct blob_bdev *)dev;
363 ch = spdk_bdev_get_io_channel(blob_bdev->desc);
365 spdk_spin_lock(&blob_bdev->lock);
366 blob_bdev->refs++;
367 spdk_spin_unlock(&blob_bdev->lock);
374 bdev_blob_free(struct blob_bdev *blob_bdev)
376 assert(blob_bdev->refs == 0);
378 spdk_spin_destroy(&blob_bdev->lock);
379 free(blob_bdev);
385 struct blob_bdev *blob_bdev = (struct blob_bdev *)dev;
388 spdk_spin_lock(&blob_bdev->lock);
390 assert(blob_bdev->refs > 0);
391 blob_bdev->refs--;
392 refs = blob_bdev->refs;
394 spdk_spin_unlock(&blob_bdev->lock);
399 * If the value of blob_bdev->refs taken while holding blob_bdev->refs is zero, the blob and
404 * Because the value of blob_bdev->refs was taken while holding the lock here and the same
408 bdev_blob_free(blob_bdev);
415 struct blob_bdev *blob_bdev = (struct blob_bdev *)bs_dev;
419 spdk_spin_lock(&blob_bdev->lock);
421 desc = blob_bdev->desc;
422 blob_bdev->desc = NULL;
423 blob_bdev->refs--;
424 refs = blob_bdev->refs;
426 spdk_spin_unlock(&blob_bdev->lock);
431 * If the value of blob_bdev->refs taken while holding blob_bdev->refs is zero,
436 * Because the value of blob_bdev->refs was taken while holding the lock here and the same
441 bdev_blob_free(blob_bdev);
486 blob_bdev_init(struct blob_bdev *b, struct spdk_bdev_desc *desc)
521 struct blob_bdev *blob_bdev = (struct blob_bdev *)bs_dev;
523 assert(bs_dev->blocklen == spdk_bdev_get_block_size(blob_bdev->bdev));
524 bs_dev->blockcnt = spdk_bdev_get_num_blocks(blob_bdev->bdev);
533 struct blob_bdev *b;
547 SPDK_ERRLOG("could not allocate blob_bdev\n");