blob: add _spdk_blob_sync_md
This enables some code reuse for future patches. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I296a6c5c0915da4a77a1ab43e8f10a335b7d16d0 Reviewed-on: https://review.gerrithub.io/396736 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
parent
aec7a76e36
commit
85a0a63eff
@ -3166,12 +3166,29 @@ _spdk_blob_sync_md_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int bserrno)
|
|||||||
spdk_bs_sequence_finish(seq, bserrno);
|
spdk_bs_sequence_finish(seq, bserrno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_spdk_blob_sync_md(struct spdk_blob_data *blob, spdk_blob_op_complete cb_fn, void *cb_arg)
|
||||||
|
{
|
||||||
|
struct spdk_bs_cpl cpl;
|
||||||
|
spdk_bs_sequence_t *seq;
|
||||||
|
|
||||||
|
cpl.type = SPDK_BS_CPL_TYPE_BLOB_BASIC;
|
||||||
|
cpl.u.blob_basic.cb_fn = cb_fn;
|
||||||
|
cpl.u.blob_basic.cb_arg = cb_arg;
|
||||||
|
|
||||||
|
seq = spdk_bs_sequence_start(blob->bs->md_channel, &cpl);
|
||||||
|
if (!seq) {
|
||||||
|
cb_fn(cb_arg, -ENOMEM);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_spdk_blob_persist(seq, blob, _spdk_blob_sync_md_cpl, blob);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
spdk_blob_sync_md(struct spdk_blob *_blob, spdk_blob_op_complete cb_fn, void *cb_arg)
|
spdk_blob_sync_md(struct spdk_blob *_blob, spdk_blob_op_complete cb_fn, void *cb_arg)
|
||||||
{
|
{
|
||||||
struct spdk_blob_data *blob = __blob_to_data(_blob);
|
struct spdk_blob_data *blob = __blob_to_data(_blob);
|
||||||
struct spdk_bs_cpl cpl;
|
|
||||||
spdk_bs_sequence_t *seq;
|
|
||||||
|
|
||||||
assert(blob != NULL);
|
assert(blob != NULL);
|
||||||
assert(spdk_get_thread() == blob->bs->md_thread);
|
assert(spdk_get_thread() == blob->bs->md_thread);
|
||||||
@ -3192,17 +3209,7 @@ spdk_blob_sync_md(struct spdk_blob *_blob, spdk_blob_op_complete cb_fn, void *cb
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cpl.type = SPDK_BS_CPL_TYPE_BLOB_BASIC;
|
_spdk_blob_sync_md(blob, cb_fn, cb_arg);
|
||||||
cpl.u.blob_basic.cb_fn = cb_fn;
|
|
||||||
cpl.u.blob_basic.cb_arg = cb_arg;
|
|
||||||
|
|
||||||
seq = spdk_bs_sequence_start(blob->bs->md_channel, &cpl);
|
|
||||||
if (!seq) {
|
|
||||||
cb_fn(cb_arg, -ENOMEM);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_spdk_blob_persist(seq, blob, _spdk_blob_sync_md_cpl, blob);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* END spdk_blob_sync_md */
|
/* END spdk_blob_sync_md */
|
||||||
|
Loading…
Reference in New Issue
Block a user