blob: change spdk_bs_io_xxx_blob functions to spdk_blob_io_xxx

These new names are much more clear and are aligned with other
functions such as spdk_blob_close.

Keep the old names around for now but deprecate them.  We will
remove them in next release.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Idc60fd0b19fa2a8b0247a1f5835774d342e721f9

Reviewed-on: https://review.gerrithub.io/400884
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Jim Harris 2018-02-21 14:37:37 -07:00
parent e14cdc7d3a
commit 66fc591ff7
10 changed files with 217 additions and 144 deletions

View File

@ -20,6 +20,19 @@ experimental pending a functional allocator to free and reallocate CMB buffers.
Namespaces may now be assigned unique identifiers via new optional "eui64" and "nguid" parameters Namespaces may now be assigned unique identifiers via new optional "eui64" and "nguid" parameters
to the `nvmf_subsystem_add_ns` RPC method. to the `nvmf_subsystem_add_ns` RPC method.
### Blobstore
A number of functions have been renamed:
- spdk_bs_io_write_blob() => spdk_blob_io_write()
- spdk_bs_io_read_blob() => spdk_blob_io_read()
- spdk_bs_io_writev_blob() => spdk_blob_io_writev()
- spdk_bs_io_readv_blob() => spdk_blob_io_readv()
- spdk_bs_io_unmap_blob() => spdk_blob_io_unmap()
- spdk_bs_io_write_zeroes_blob() => spdk_blob_io_write_zeroes()
The old names still exist but are deprecated. They will be removed in the v18.07 release.
## v18.01: Blobstore Thin Provisioning ## v18.01: Blobstore Thin Provisioning
### Build System ### Build System

View File

@ -595,9 +595,9 @@ read_dump_cb(void *arg1, int bserrno)
printf("."); printf(".");
if (++cli_context->page_count < cli_context->blob_pages) { if (++cli_context->page_count < cli_context->blob_pages) {
/* perform another read */ /* perform another read */
spdk_bs_io_read_blob(cli_context->blob, cli_context->channel, spdk_blob_io_read(cli_context->blob, cli_context->channel,
cli_context->buff, cli_context->page_count, cli_context->buff, cli_context->page_count,
NUM_PAGES, read_dump_cb, cli_context); NUM_PAGES, read_dump_cb, cli_context);
} else { } else {
/* done reading */ /* done reading */
printf("\nFile write complete (to %s).\n", cli_context->file); printf("\nFile write complete (to %s).\n", cli_context->file);
@ -643,9 +643,9 @@ write_imp_cb(void *arg1, int bserrno)
} }
if (++cli_context->page_count < cli_context->blob_pages) { if (++cli_context->page_count < cli_context->blob_pages) {
printf("."); printf(".");
spdk_bs_io_write_blob(cli_context->blob, cli_context->channel, spdk_blob_io_write(cli_context->blob, cli_context->channel,
cli_context->buff, cli_context->page_count, cli_context->buff, cli_context->page_count,
NUM_PAGES, write_imp_cb, cli_context); NUM_PAGES, write_imp_cb, cli_context);
} else { } else {
/* done writing */ /* done writing */
printf("\nBlob import complete (from %s).\n", cli_context->file); printf("\nBlob import complete (from %s).\n", cli_context->file);
@ -695,9 +695,9 @@ dump_imp_open_cb(void *cb_arg, struct spdk_blob *blob, int bserrno)
} }
/* read a page of data from the blob */ /* read a page of data from the blob */
spdk_bs_io_read_blob(cli_context->blob, cli_context->channel, spdk_blob_io_read(cli_context->blob, cli_context->channel,
cli_context->buff, cli_context->page_count, cli_context->buff, cli_context->page_count,
NUM_PAGES, read_dump_cb, cli_context); NUM_PAGES, read_dump_cb, cli_context);
} else { } else {
cli_context->fp = fopen(cli_context->file, "r"); cli_context->fp = fopen(cli_context->file, "r");
if (cli_context->fp == NULL) { if (cli_context->fp == NULL) {
@ -723,9 +723,9 @@ dump_imp_open_cb(void *cb_arg, struct spdk_blob *blob, int bserrno)
cli_context->page_size - cli_context->filesize); cli_context->page_size - cli_context->filesize);
} }
spdk_bs_io_write_blob(cli_context->blob, cli_context->channel, spdk_blob_io_write(cli_context->blob, cli_context->channel,
cli_context->buff, cli_context->page_count, cli_context->buff, cli_context->page_count,
NUM_PAGES, write_imp_cb, cli_context); NUM_PAGES, write_imp_cb, cli_context);
} }
} }
@ -744,9 +744,9 @@ write_cb(void *arg1, int bserrno)
} }
printf("."); printf(".");
if (++cli_context->page_count < cli_context->blob_pages) { if (++cli_context->page_count < cli_context->blob_pages) {
spdk_bs_io_write_blob(cli_context->blob, cli_context->channel, spdk_blob_io_write(cli_context->blob, cli_context->channel,
cli_context->buff, cli_context->page_count, cli_context->buff, cli_context->page_count,
NUM_PAGES, write_cb, cli_context); NUM_PAGES, write_cb, cli_context);
} else { } else {
/* done writing */ /* done writing */
printf("\nBlob fill complete (with 0x%x).\n", cli_context->fill_value); printf("\nBlob fill complete (with 0x%x).\n", cli_context->fill_value);
@ -782,9 +782,9 @@ fill_blob_cb(void *arg1, struct spdk_blob *blob, int bserrno)
memset(cli_context->buff, cli_context->fill_value, memset(cli_context->buff, cli_context->fill_value,
cli_context->page_size); cli_context->page_size);
printf("Working"); printf("Working");
spdk_bs_io_write_blob(cli_context->blob, cli_context->channel, spdk_blob_io_write(cli_context->blob, cli_context->channel,
cli_context->buff, cli_context->buff,
STARTING_PAGE, NUM_PAGES, write_cb, cli_context); STARTING_PAGE, NUM_PAGES, write_cb, cli_context);
} }
/* /*

View File

@ -188,9 +188,9 @@ read_blob(struct hello_context_t *hello_context)
} }
/* Issue the read and compare the results in the callback. */ /* Issue the read and compare the results in the callback. */
spdk_bs_io_read_blob(hello_context->blob, hello_context->channel, spdk_blob_io_read(hello_context->blob, hello_context->channel,
hello_context->read_buff, 0, 1, read_complete, hello_context->read_buff, 0, 1, read_complete,
hello_context); hello_context);
} }
/* /*
@ -242,9 +242,9 @@ blob_write(struct hello_context_t *hello_context)
} }
/* Let's perform the write, 1 page at offset 0. */ /* Let's perform the write, 1 page at offset 0. */
spdk_bs_io_write_blob(hello_context->blob, hello_context->channel, spdk_blob_io_write(hello_context->blob, hello_context->channel,
hello_context->write_buff, hello_context->write_buff,
0, 1, write_complete, hello_context); 0, 1, write_complete, hello_context);
} }
/* /*

View File

@ -47,7 +47,7 @@
* The metadata thread is the thread which called spdk_bs_init() or * The metadata thread is the thread which called spdk_bs_init() or
* spdk_bs_load(). * spdk_bs_load().
* *
* Functions starting with the prefix "spdk_bs_io" are passed a channel * Functions starting with the prefix "spdk_blob_io" are passed a channel
* as an argument, and channels may only be used from the thread they were * as an argument, and channels may only be used from the thread they were
* created on. See \ref spdk_bs_alloc_io_channel. * created on. See \ref spdk_bs_alloc_io_channel.
* *
@ -280,32 +280,55 @@ struct spdk_io_channel *spdk_bs_alloc_io_channel(struct spdk_blob_store *bs);
void spdk_bs_free_io_channel(struct spdk_io_channel *channel); void spdk_bs_free_io_channel(struct spdk_io_channel *channel);
/* Write data to a blob. Offset is in pages from the beginning of the blob. */ /* Write data to a blob. Offset is in pages from the beginning of the blob. */
void spdk_bs_io_write_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_write(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length, void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg); spdk_blob_op_complete cb_fn, void *cb_arg);
/* Read data from a blob. Offset is in pages from the beginning of the blob. */ /* Read data from a blob. Offset is in pages from the beginning of the blob. */
void spdk_bs_io_read_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_read(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length, void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg); spdk_blob_op_complete cb_fn, void *cb_arg);
/* Write data to a blob. Offset is in pages from the beginning of the blob. */ /* Write data to a blob. Offset is in pages from the beginning of the blob. */
void spdk_bs_io_writev_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_writev(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length, struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg); spdk_blob_op_complete cb_fn, void *cb_arg);
/* Read data from a blob. Offset is in pages from the beginning of the blob. */ /* Read data from a blob. Offset is in pages from the beginning of the blob. */
void spdk_bs_io_readv_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_readv(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length, struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg); spdk_blob_op_complete cb_fn, void *cb_arg);
/* Unmap area of a blob. Offset is in pages from the beginning of the blob. */ /* Unmap area of a blob. Offset is in pages from the beginning of the blob. */
void spdk_bs_io_unmap_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_unmap(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg); uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg);
/* Write zeros into area of a blob. Offset is in pages from the beginning of the blob. */ /* Write zeros into area of a blob. Offset is in pages from the beginning of the blob. */
void spdk_blob_io_write_zeroes(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg);
/*
* The following spdk_bs_io prefixed functions are deprecated in favor of their corresponding spdk_blob_io
* function above.
*/
void spdk_bs_io_write_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) __attribute__((deprecated));
void spdk_bs_io_read_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) __attribute__((deprecated));
void spdk_bs_io_writev_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) __attribute__((deprecated));
void spdk_bs_io_readv_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) __attribute__((deprecated));
void spdk_bs_io_unmap_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) __attribute__((deprecated));
void spdk_bs_io_write_zeroes_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_bs_io_write_zeroes_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg); uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) __attribute__((deprecated));
/* Iterate through all blobs */ /* Iterate through all blobs */
void spdk_bs_iter_first(struct spdk_blob_store *bs, void spdk_bs_iter_first(struct spdk_blob_store *bs,

View File

@ -604,7 +604,7 @@ lvol_unmap(struct spdk_lvol *lvol, struct spdk_io_channel *ch, struct spdk_bdev_
SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL,
"Vbdev doing unmap at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page, "Vbdev doing unmap at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page,
num_pages, bdev_io->bdev->name); num_pages, bdev_io->bdev->name);
spdk_bs_io_unmap_blob(blob, ch, start_page, num_pages, lvol_op_comp, task); spdk_blob_io_unmap(blob, ch, start_page, num_pages, lvol_op_comp, task);
} }
static void static void
@ -622,7 +622,7 @@ lvol_write_zeroes(struct spdk_lvol *lvol, struct spdk_io_channel *ch, struct spd
SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL,
"Vbdev doing write zeros at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page, "Vbdev doing write zeros at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page,
num_pages, bdev_io->bdev->name); num_pages, bdev_io->bdev->name);
spdk_bs_io_write_zeroes_blob(blob, ch, start_page, num_pages, lvol_op_comp, task); spdk_blob_io_write_zeroes(blob, ch, start_page, num_pages, lvol_op_comp, task);
} }
static void static void
@ -641,9 +641,8 @@ lvol_read(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL,
"Vbdev doing read at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page, "Vbdev doing read at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page,
num_pages, bdev_io->bdev->name); num_pages, bdev_io->bdev->name);
spdk_bs_io_readv_blob(blob, ch, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, start_page, spdk_blob_io_readv(blob, ch, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, start_page,
num_pages, num_pages, lvol_op_comp, task);
lvol_op_comp, task);
} }
static void static void
@ -661,8 +660,8 @@ lvol_write(struct spdk_lvol *lvol, struct spdk_io_channel *ch, struct spdk_bdev_
SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL,
"Vbdev doing write at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page, "Vbdev doing write at offset %" PRIu64 " using %" PRIu64 " pages on device %s\n", start_page,
num_pages, bdev_io->bdev->name); num_pages, bdev_io->bdev->name);
spdk_bs_io_writev_blob(blob, ch, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, start_page, spdk_blob_io_writev(blob, ch, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, start_page,
num_pages, lvol_op_comp, task); num_pages, lvol_op_comp, task);
} }
static int static int

View File

@ -1729,11 +1729,11 @@ _spdk_rw_iov_split_next(void *cb_arg, int bserrno)
iov = &ctx->iov[0]; iov = &ctx->iov[0];
if (ctx->read) { if (ctx->read) {
spdk_bs_io_readv_blob(ctx->blob, ctx->channel, iov, iovcnt, page_offset, spdk_blob_io_readv(ctx->blob, ctx->channel, iov, iovcnt, page_offset,
page_count, _spdk_rw_iov_split_next, ctx); page_count, _spdk_rw_iov_split_next, ctx);
} else { } else {
spdk_bs_io_writev_blob(ctx->blob, ctx->channel, iov, iovcnt, page_offset, spdk_blob_io_writev(ctx->blob, ctx->channel, iov, iovcnt, page_offset,
page_count, _spdk_rw_iov_split_next, ctx); page_count, _spdk_rw_iov_split_next, ctx);
} }
} }
@ -3696,48 +3696,88 @@ void spdk_bs_free_io_channel(struct spdk_io_channel *channel)
spdk_put_io_channel(channel); spdk_put_io_channel(channel);
} }
void spdk_bs_io_unmap_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_unmap(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg) uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
_spdk_blob_request_submit_op(blob, channel, NULL, offset, length, cb_fn, cb_arg, _spdk_blob_request_submit_op(blob, channel, NULL, offset, length, cb_fn, cb_arg,
SPDK_BLOB_UNMAP); SPDK_BLOB_UNMAP);
} }
void spdk_bs_io_write_zeroes_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_blob_io_write_zeroes(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg) uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
_spdk_blob_request_submit_op(blob, channel, NULL, offset, length, cb_fn, cb_arg, _spdk_blob_request_submit_op(blob, channel, NULL, offset, length, cb_fn, cb_arg,
SPDK_BLOB_WRITE_ZEROES); SPDK_BLOB_WRITE_ZEROES);
} }
void spdk_blob_io_write(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg)
{
_spdk_blob_request_submit_op(blob, channel, payload, offset, length, cb_fn, cb_arg,
SPDK_BLOB_WRITE);
}
void spdk_blob_io_read(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg)
{
_spdk_blob_request_submit_op(blob, channel, payload, offset, length, cb_fn, cb_arg,
SPDK_BLOB_READ);
}
void spdk_blob_io_writev(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg)
{
_spdk_blob_request_submit_rw_iov(blob, channel, iov, iovcnt, offset, length, cb_fn, cb_arg, false);
}
void spdk_blob_io_readv(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg)
{
_spdk_blob_request_submit_rw_iov(blob, channel, iov, iovcnt, offset, length, cb_fn, cb_arg, true);
}
void spdk_bs_io_unmap_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg)
{
spdk_blob_io_unmap(blob, channel, offset, length, cb_fn, cb_arg);
}
void spdk_bs_io_write_zeroes_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg)
{
spdk_blob_io_write_zeroes(blob, channel, offset, length, cb_fn, cb_arg);
}
void spdk_bs_io_write_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_bs_io_write_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length, void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
_spdk_blob_request_submit_op(blob, channel, payload, offset, length, cb_fn, cb_arg, spdk_blob_io_write(blob, channel, payload, offset, length, cb_fn, cb_arg);
SPDK_BLOB_WRITE);
} }
void spdk_bs_io_read_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_bs_io_read_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length, void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
_spdk_blob_request_submit_op(blob, channel, payload, offset, length, cb_fn, cb_arg, spdk_blob_io_read(blob, channel, payload, offset, length, cb_fn, cb_arg);
SPDK_BLOB_READ);
} }
void spdk_bs_io_writev_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_bs_io_writev_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length, struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
_spdk_blob_request_submit_rw_iov(blob, channel, iov, iovcnt, offset, length, cb_fn, cb_arg, false); spdk_blob_io_writev(blob, channel, iov, iovcnt, offset, length, cb_fn, cb_arg);
} }
void spdk_bs_io_readv_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, void spdk_bs_io_readv_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length, struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
_spdk_blob_request_submit_rw_iov(blob, channel, iov, iovcnt, offset, length, cb_fn, cb_arg, true); spdk_blob_io_readv(blob, channel, iov, iovcnt, offset, length, cb_fn, cb_arg);
} }
struct spdk_bs_iter_ctx { struct spdk_bs_iter_ctx {

View File

@ -400,8 +400,8 @@ spdk_bs_batch_read_blob(spdk_bs_batch_t *batch, struct spdk_blob *blob,
SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Reading %lu pages from offset %lu\n", length, offset); SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Reading %lu pages from offset %lu\n", length, offset);
set->u.batch.outstanding_ops++; set->u.batch.outstanding_ops++;
spdk_bs_io_read_blob(blob, spdk_io_channel_from_ctx(channel), payload, offset, spdk_blob_io_read(blob, spdk_io_channel_from_ctx(channel), payload, offset,
length, spdk_bs_batch_blob_op_complete, set); length, spdk_bs_batch_blob_op_complete, set);
} }
void void
@ -414,8 +414,8 @@ spdk_bs_batch_write_blob(spdk_bs_batch_t *batch, struct spdk_blob *blob,
SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Writing %lu pages from offset %lu\n", length, offset); SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Writing %lu pages from offset %lu\n", length, offset);
set->u.batch.outstanding_ops++; set->u.batch.outstanding_ops++;
spdk_bs_io_write_blob(blob, spdk_io_channel_from_ctx(channel), payload, offset, spdk_blob_io_write(blob, spdk_io_channel_from_ctx(channel), payload, offset,
length, spdk_bs_batch_blob_op_complete, set); length, spdk_bs_batch_blob_op_complete, set);
} }
void void
@ -428,8 +428,8 @@ spdk_bs_batch_unmap_blob(spdk_bs_batch_t *batch, struct spdk_blob *blob,
SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Unmapping %lu pages from offset %lu\n", length, offset); SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Unmapping %lu pages from offset %lu\n", length, offset);
set->u.batch.outstanding_ops++; set->u.batch.outstanding_ops++;
spdk_bs_io_unmap_blob(blob, spdk_io_channel_from_ctx(channel), offset, length, spdk_blob_io_unmap(blob, spdk_io_channel_from_ctx(channel), offset, length,
spdk_bs_batch_blob_op_complete, set); spdk_bs_batch_blob_op_complete, set);
} }
void void
@ -442,8 +442,8 @@ spdk_bs_batch_write_zeroes_blob(spdk_bs_batch_t *batch, struct spdk_blob *blob,
SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Zeroing %lu pages from offset %lu\n", length, offset); SPDK_DEBUGLOG(SPDK_LOG_BLOB_RW, "Zeroing %lu pages from offset %lu\n", length, offset);
set->u.batch.outstanding_ops++; set->u.batch.outstanding_ops++;
spdk_bs_io_write_zeroes_blob(blob, spdk_io_channel_from_ctx(channel), offset, length, spdk_blob_io_write_zeroes(blob, spdk_io_channel_from_ctx(channel), offset, length,
spdk_bs_batch_blob_op_complete, set); spdk_bs_batch_blob_op_complete, set);
} }
void void
@ -550,30 +550,30 @@ spdk_bs_user_op_execute(spdk_bs_user_op_t *op)
switch (args->type) { switch (args->type) {
case SPDK_BLOB_READ: case SPDK_BLOB_READ:
spdk_bs_io_read_blob(args->blob, ch, args->payload, args->offset, args->length, spdk_blob_io_read(args->blob, ch, args->payload, args->offset, args->length,
set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg); set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg);
break; break;
case SPDK_BLOB_WRITE: case SPDK_BLOB_WRITE:
spdk_bs_io_write_blob(args->blob, ch, args->payload, args->offset, args->length, spdk_blob_io_write(args->blob, ch, args->payload, args->offset, args->length,
set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg); set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg);
break; break;
case SPDK_BLOB_UNMAP: case SPDK_BLOB_UNMAP:
spdk_bs_io_unmap_blob(args->blob, ch, args->offset, args->length, spdk_blob_io_unmap(args->blob, ch, args->offset, args->length,
set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg); set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg);
break; break;
case SPDK_BLOB_WRITE_ZEROES: case SPDK_BLOB_WRITE_ZEROES:
spdk_bs_io_write_zeroes_blob(args->blob, ch, args->offset, args->length, spdk_blob_io_write_zeroes(args->blob, ch, args->offset, args->length,
set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg); set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg);
break; break;
case SPDK_BLOB_READV: case SPDK_BLOB_READV:
spdk_bs_io_readv_blob(args->blob, ch, args->payload, args->iovcnt, spdk_blob_io_readv(args->blob, ch, args->payload, args->iovcnt,
args->offset, args->length, args->offset, args->length,
set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg); set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg);
break; break;
case SPDK_BLOB_WRITEV: case SPDK_BLOB_WRITEV:
spdk_bs_io_writev_blob(args->blob, ch, args->payload, args->iovcnt, spdk_blob_io_writev(args->blob, ch, args->payload, args->iovcnt,
args->offset, args->length, args->offset, args->length,
set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg); set->cpl.u.blob_basic.cb_fn, set->cpl.u.blob_basic.cb_arg);
break; break;
} }
TAILQ_INSERT_TAIL(&set->channel->reqs, set, link); TAILQ_INSERT_TAIL(&set->channel->reqs, set, link);

View File

@ -1507,10 +1507,10 @@ __read_done(void *ctx, int bserrno)
memcpy(args->op.rw.pin_buf + (args->op.rw.offset & 0xFFF), memcpy(args->op.rw.pin_buf + (args->op.rw.offset & 0xFFF),
args->op.rw.user_buf, args->op.rw.user_buf,
args->op.rw.length); args->op.rw.length);
spdk_bs_io_write_blob(args->file->blob, args->op.rw.channel, spdk_blob_io_write(args->file->blob, args->op.rw.channel,
args->op.rw.pin_buf, args->op.rw.pin_buf,
args->op.rw.start_page, args->op.rw.num_pages, args->op.rw.start_page, args->op.rw.num_pages,
__rw_done, req); __rw_done, req);
} }
} }
@ -1520,10 +1520,10 @@ __do_blob_read(void *ctx, int fserrno)
struct spdk_fs_request *req = ctx; struct spdk_fs_request *req = ctx;
struct spdk_fs_cb_args *args = &req->args; struct spdk_fs_cb_args *args = &req->args;
spdk_bs_io_read_blob(args->file->blob, args->op.rw.channel, spdk_blob_io_read(args->file->blob, args->op.rw.channel,
args->op.rw.pin_buf, args->op.rw.pin_buf,
args->op.rw.start_page, args->op.rw.num_pages, args->op.rw.start_page, args->op.rw.num_pages,
__read_done, req); __read_done, req);
} }
static void static void
@ -1925,10 +1925,9 @@ __file_flush(void *_args)
BLOBFS_TRACE(file, "offset=%jx length=%jx page start=%jx num=%jx\n", BLOBFS_TRACE(file, "offset=%jx length=%jx page start=%jx num=%jx\n",
offset, length, start_page, num_pages); offset, length, start_page, num_pages);
pthread_spin_unlock(&file->lock); pthread_spin_unlock(&file->lock);
spdk_bs_io_write_blob(file->blob, file->fs->sync_target.sync_fs_channel->bs_channel, spdk_blob_io_write(file->blob, file->fs->sync_target.sync_fs_channel->bs_channel,
next->buf + (start_page * page_size) - next->offset, next->buf + (start_page * page_size) - next->offset,
start_page, num_pages, start_page, num_pages, __file_flush_done, args);
__file_flush_done, args);
} }
static void static void
@ -2131,10 +2130,9 @@ __readahead(void *_args)
BLOBFS_TRACE(file, "offset=%jx length=%jx page start=%jx num=%jx\n", BLOBFS_TRACE(file, "offset=%jx length=%jx page start=%jx num=%jx\n",
offset, length, start_page, num_pages); offset, length, start_page, num_pages);
spdk_bs_io_read_blob(file->blob, file->fs->sync_target.sync_fs_channel->bs_channel, spdk_blob_io_read(file->blob, file->fs->sync_target.sync_fs_channel->bs_channel,
args->op.readahead.cache_buffer->buf, args->op.readahead.cache_buffer->buf,
start_page, num_pages, start_page, num_pages, __readahead_done, args);
__readahead_done, args);
} }
static uint64_t static uint64_t

View File

@ -415,22 +415,22 @@ spdk_bdev_io_get_buf(struct spdk_bdev_io *bdev_io, spdk_bdev_io_get_buf_cb cb, u
} }
void void
spdk_bs_io_read_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, spdk_blob_io_read(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length, void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
} }
void void
spdk_bs_io_write_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, spdk_blob_io_write(struct spdk_blob *blob, struct spdk_io_channel *channel,
void *payload, uint64_t offset, uint64_t length, void *payload, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
} }
void void
spdk_bs_io_unmap_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, spdk_blob_io_unmap(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg) uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
CU_ASSERT(blob == NULL); CU_ASSERT(blob == NULL);
CU_ASSERT(channel == g_ch); CU_ASSERT(channel == g_ch);
@ -439,8 +439,8 @@ spdk_bs_io_unmap_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
} }
void void
spdk_bs_io_write_zeroes_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, spdk_blob_io_write_zeroes(struct spdk_blob *blob, struct spdk_io_channel *channel,
uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg) uint64_t offset, uint64_t length, spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
CU_ASSERT(blob == NULL); CU_ASSERT(blob == NULL);
CU_ASSERT(channel == g_ch); CU_ASSERT(channel == g_ch);
@ -449,9 +449,9 @@ spdk_bs_io_write_zeroes_blob(struct spdk_blob *blob, struct spdk_io_channel *cha
} }
void void
spdk_bs_io_writev_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, spdk_blob_io_writev(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length, struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
CU_ASSERT(blob == NULL); CU_ASSERT(blob == NULL);
CU_ASSERT(channel == g_ch); CU_ASSERT(channel == g_ch);
@ -460,9 +460,9 @@ spdk_bs_io_writev_blob(struct spdk_blob *blob, struct spdk_io_channel *channel,
} }
void void
spdk_bs_io_readv_blob(struct spdk_blob *blob, struct spdk_io_channel *channel, spdk_blob_io_readv(struct spdk_blob *blob, struct spdk_io_channel *channel,
struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length, struct iovec *iov, int iovcnt, uint64_t offset, uint64_t length,
spdk_blob_op_complete cb_fn, void *cb_arg) spdk_blob_op_complete cb_fn, void *cb_arg)
{ {
CU_ASSERT(blob == NULL); CU_ASSERT(blob == NULL);
CU_ASSERT(channel == g_ch); CU_ASSERT(channel == g_ch);

View File

@ -671,7 +671,7 @@ blob_write(void)
blob = g_blob; blob = g_blob;
/* Write to a blob with 0 size */ /* Write to a blob with 0 size */
spdk_bs_io_write_blob(blob, channel, payload, 0, 1, blob_op_complete, NULL); spdk_blob_io_write(blob, channel, payload, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == -EINVAL); CU_ASSERT(g_bserrno == -EINVAL);
/* Resize the blob */ /* Resize the blob */
@ -680,22 +680,22 @@ blob_write(void)
/* Confirm that write fails if blob is marked read-only. */ /* Confirm that write fails if blob is marked read-only. */
blob->data_ro = true; blob->data_ro = true;
spdk_bs_io_write_blob(blob, channel, payload, 0, 1, blob_op_complete, NULL); spdk_blob_io_write(blob, channel, payload, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == -EPERM); CU_ASSERT(g_bserrno == -EPERM);
blob->data_ro = false; blob->data_ro = false;
/* Write to the blob */ /* Write to the blob */
spdk_bs_io_write_blob(blob, channel, payload, 0, 1, blob_op_complete, NULL); spdk_blob_io_write(blob, channel, payload, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
/* Write starting beyond the end */ /* Write starting beyond the end */
spdk_bs_io_write_blob(blob, channel, payload, 5 * pages_per_cluster, 1, blob_op_complete, spdk_blob_io_write(blob, channel, payload, 5 * pages_per_cluster, 1, blob_op_complete,
NULL); NULL);
CU_ASSERT(g_bserrno == -EINVAL); CU_ASSERT(g_bserrno == -EINVAL);
/* Write starting at a valid location but going off the end */ /* Write starting at a valid location but going off the end */
spdk_bs_io_write_blob(blob, channel, payload, 4 * pages_per_cluster, pages_per_cluster + 1, spdk_blob_io_write(blob, channel, payload, 4 * pages_per_cluster, pages_per_cluster + 1,
blob_op_complete, NULL); blob_op_complete, NULL);
CU_ASSERT(g_bserrno == -EINVAL); CU_ASSERT(g_bserrno == -EINVAL);
spdk_blob_close(blob, blob_op_complete, NULL); spdk_blob_close(blob, blob_op_complete, NULL);
@ -743,7 +743,7 @@ blob_read(void)
blob = g_blob; blob = g_blob;
/* Read from a blob with 0 size */ /* Read from a blob with 0 size */
spdk_bs_io_read_blob(blob, channel, payload, 0, 1, blob_op_complete, NULL); spdk_blob_io_read(blob, channel, payload, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == -EINVAL); CU_ASSERT(g_bserrno == -EINVAL);
/* Resize the blob */ /* Resize the blob */
@ -752,22 +752,22 @@ blob_read(void)
/* Confirm that read passes if blob is marked read-only. */ /* Confirm that read passes if blob is marked read-only. */
blob->data_ro = true; blob->data_ro = true;
spdk_bs_io_read_blob(blob, channel, payload, 0, 1, blob_op_complete, NULL); spdk_blob_io_read(blob, channel, payload, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
blob->data_ro = false; blob->data_ro = false;
/* Read from the blob */ /* Read from the blob */
spdk_bs_io_read_blob(blob, channel, payload, 0, 1, blob_op_complete, NULL); spdk_blob_io_read(blob, channel, payload, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
/* Read starting beyond the end */ /* Read starting beyond the end */
spdk_bs_io_read_blob(blob, channel, payload, 5 * pages_per_cluster, 1, blob_op_complete, spdk_blob_io_read(blob, channel, payload, 5 * pages_per_cluster, 1, blob_op_complete,
NULL); NULL);
CU_ASSERT(g_bserrno == -EINVAL); CU_ASSERT(g_bserrno == -EINVAL);
/* Read starting at a valid location but going off the end */ /* Read starting at a valid location but going off the end */
spdk_bs_io_read_blob(blob, channel, payload, 4 * pages_per_cluster, pages_per_cluster + 1, spdk_blob_io_read(blob, channel, payload, 4 * pages_per_cluster, pages_per_cluster + 1,
blob_op_complete, NULL); blob_op_complete, NULL);
CU_ASSERT(g_bserrno == -EINVAL); CU_ASSERT(g_bserrno == -EINVAL);
spdk_blob_close(blob, blob_op_complete, NULL); spdk_blob_close(blob, blob_op_complete, NULL);
@ -816,11 +816,11 @@ blob_rw_verify(void)
CU_ASSERT(rc == 0); CU_ASSERT(rc == 0);
memset(payload_write, 0xE5, sizeof(payload_write)); memset(payload_write, 0xE5, sizeof(payload_write));
spdk_bs_io_write_blob(blob, channel, payload_write, 4, 10, blob_op_complete, NULL); spdk_blob_io_write(blob, channel, payload_write, 4, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
memset(payload_read, 0x00, sizeof(payload_read)); memset(payload_read, 0x00, sizeof(payload_read));
spdk_bs_io_read_blob(blob, channel, payload_read, 4, 10, blob_op_complete, NULL); spdk_blob_io_read(blob, channel, payload_read, 4, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(memcmp(payload_write, payload_read, 4 * 4096) == 0); CU_ASSERT(memcmp(payload_write, payload_read, 4 * 4096) == 0);
@ -894,7 +894,7 @@ blob_rw_verify_iov(void)
* Choose a page offset just before the cluster boundary. The first 6 pages of payload * Choose a page offset just before the cluster boundary. The first 6 pages of payload
* will get written to the first cluster, the last 4 to the second cluster. * will get written to the first cluster, the last 4 to the second cluster.
*/ */
spdk_bs_io_writev_blob(blob, channel, iov_write, 3, 250, 10, blob_op_complete, NULL); spdk_blob_io_writev(blob, channel, iov_write, 3, 250, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
memset(payload_read, 0xAA, sizeof(payload_read)); memset(payload_read, 0xAA, sizeof(payload_read));
@ -904,7 +904,7 @@ blob_rw_verify_iov(void)
iov_read[1].iov_len = 4 * 4096; iov_read[1].iov_len = 4 * 4096;
iov_read[2].iov_base = payload_read + 7 * 4096; iov_read[2].iov_base = payload_read + 7 * 4096;
iov_read[2].iov_len = 3 * 4096; iov_read[2].iov_len = 3 * 4096;
spdk_bs_io_readv_blob(blob, channel, iov_read, 3, 250, 10, blob_op_complete, NULL); spdk_blob_io_readv(blob, channel, iov_read, 3, 250, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(memcmp(payload_write, payload_read, 10 * 4096) == 0); CU_ASSERT(memcmp(payload_write, payload_read, 10 * 4096) == 0);
@ -987,7 +987,7 @@ blob_rw_verify_iov_nomem(void)
iov_write[2].iov_len = 4 * 4096; iov_write[2].iov_len = 4 * 4096;
MOCK_SET(calloc, void *, NULL); MOCK_SET(calloc, void *, NULL);
req_count = bs_channel_get_req_count(channel); req_count = bs_channel_get_req_count(channel);
spdk_bs_io_writev_blob(blob, channel, iov_write, 3, 250, 10, blob_op_complete, NULL); spdk_blob_io_writev(blob, channel, iov_write, 3, 250, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno = -ENOMEM); CU_ASSERT(g_bserrno = -ENOMEM);
CU_ASSERT(req_count == bs_channel_get_req_count(channel)); CU_ASSERT(req_count == bs_channel_get_req_count(channel));
MOCK_SET(calloc, void *, (void *)MOCK_PASS_THRU); MOCK_SET(calloc, void *, (void *)MOCK_PASS_THRU);
@ -1044,13 +1044,13 @@ blob_rw_iov_read_only(void)
blob->data_ro = true; blob->data_ro = true;
iov_write.iov_base = payload_write; iov_write.iov_base = payload_write;
iov_write.iov_len = sizeof(payload_write); iov_write.iov_len = sizeof(payload_write);
spdk_bs_io_writev_blob(blob, channel, &iov_write, 1, 0, 1, blob_op_complete, NULL); spdk_blob_io_writev(blob, channel, &iov_write, 1, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == -EPERM); CU_ASSERT(g_bserrno == -EPERM);
/* Verify that reads pass if data_ro flag is set. */ /* Verify that reads pass if data_ro flag is set. */
iov_read.iov_base = payload_read; iov_read.iov_base = payload_read;
iov_read.iov_len = sizeof(payload_read); iov_read.iov_len = sizeof(payload_read);
spdk_bs_io_readv_blob(blob, channel, &iov_read, 1, 0, 1, blob_op_complete, NULL); spdk_blob_io_readv(blob, channel, &iov_read, 1, 0, 1, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
spdk_blob_close(blob, blob_op_complete, NULL); spdk_blob_close(blob, blob_op_complete, NULL);
@ -1116,8 +1116,8 @@ blob_unmap(void)
/* Confirm writes */ /* Confirm writes */
for (i = 0; i < 10; i++) { for (i = 0; i < 10; i++) {
payload[0] = 0; payload[0] = 0;
spdk_bs_io_read_blob(blob, channel, &payload, i * SPDK_BLOB_OPTS_CLUSTER_SZ / 4096, 1, spdk_blob_io_read(blob, channel, &payload, i * SPDK_BLOB_OPTS_CLUSTER_SZ / 4096, 1,
blob_op_complete, NULL); blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(payload[0] == 0xFF); CU_ASSERT(payload[0] == 0xFF);
} }
@ -2973,16 +2973,16 @@ blob_thin_prov_rw(void)
/* Payload should be all zeros from unallocated clusters */ /* Payload should be all zeros from unallocated clusters */
memset(payload_read, 0xFF, sizeof(payload_read)); memset(payload_read, 0xFF, sizeof(payload_read));
spdk_bs_io_read_blob(blob, channel, payload_read, 4, 10, blob_op_complete, NULL); spdk_blob_io_read(blob, channel, payload_read, 4, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(memcmp(zero, payload_read, 10 * 4096) == 0); CU_ASSERT(memcmp(zero, payload_read, 10 * 4096) == 0);
memset(payload_write, 0xE5, sizeof(payload_write)); memset(payload_write, 0xE5, sizeof(payload_write));
spdk_bs_io_write_blob(blob, channel, payload_write, 4, 10, blob_op_complete, NULL); spdk_blob_io_write(blob, channel, payload_write, 4, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(free_clusters != spdk_bs_free_cluster_count(bs)); CU_ASSERT(free_clusters != spdk_bs_free_cluster_count(bs));
spdk_bs_io_read_blob(blob, channel, payload_read, 4, 10, blob_op_complete, NULL); spdk_blob_io_read(blob, channel, payload_read, 4, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(memcmp(payload_write, payload_read, 10 * 4096) == 0); CU_ASSERT(memcmp(payload_write, payload_read, 10 * 4096) == 0);
@ -3068,7 +3068,7 @@ blob_thin_prov_rw_iov(void)
iov_read[1].iov_len = 4 * 4096; iov_read[1].iov_len = 4 * 4096;
iov_read[2].iov_base = payload_read + 7 * 4096; iov_read[2].iov_base = payload_read + 7 * 4096;
iov_read[2].iov_len = 3 * 4096; iov_read[2].iov_len = 3 * 4096;
spdk_bs_io_readv_blob(blob, channel, iov_read, 3, 250, 10, blob_op_complete, NULL); spdk_blob_io_readv(blob, channel, iov_read, 3, 250, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(memcmp(zero, payload_read, 10 * 4096) == 0); CU_ASSERT(memcmp(zero, payload_read, 10 * 4096) == 0);
@ -3080,7 +3080,7 @@ blob_thin_prov_rw_iov(void)
iov_write[2].iov_base = payload_write + 6 * 4096; iov_write[2].iov_base = payload_write + 6 * 4096;
iov_write[2].iov_len = 4 * 4096; iov_write[2].iov_len = 4 * 4096;
spdk_bs_io_writev_blob(blob, channel, iov_write, 3, 250, 10, blob_op_complete, NULL); spdk_blob_io_writev(blob, channel, iov_write, 3, 250, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
memset(payload_read, 0xAA, sizeof(payload_read)); memset(payload_read, 0xAA, sizeof(payload_read));
@ -3090,7 +3090,7 @@ blob_thin_prov_rw_iov(void)
iov_read[1].iov_len = 4 * 4096; iov_read[1].iov_len = 4 * 4096;
iov_read[2].iov_base = payload_read + 7 * 4096; iov_read[2].iov_base = payload_read + 7 * 4096;
iov_read[2].iov_len = 3 * 4096; iov_read[2].iov_len = 3 * 4096;
spdk_bs_io_readv_blob(blob, channel, iov_read, 3, 250, 10, blob_op_complete, NULL); spdk_blob_io_readv(blob, channel, iov_read, 3, 250, 10, blob_op_complete, NULL);
CU_ASSERT(g_bserrno == 0); CU_ASSERT(g_bserrno == 0);
CU_ASSERT(memcmp(payload_write, payload_read, 10 * 4096) == 0); CU_ASSERT(memcmp(payload_write, payload_read, 10 * 4096) == 0);