blob: add is_degraded() to spdk_blob_bs_dev
The health of clones of esnap clones depends on the health of the esnap clone. This allows recursion through a chain of clones so that degraded state propagates up from any back_bs_dev that is degraded. Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Iadd879d589f6ce4d0b654945db065d304b0c8357 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17517 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
42e50f66d0
commit
7d9bc09008
@ -154,6 +154,14 @@ blob_bs_translate_lba(struct spdk_bs_dev *dev, uint64_t lba, uint64_t *base_lba)
|
||||
base_lba);
|
||||
}
|
||||
|
||||
static bool
|
||||
blob_bs_is_degraded(struct spdk_bs_dev *dev)
|
||||
{
|
||||
struct spdk_blob_bs_dev *b = (struct spdk_blob_bs_dev *)dev;
|
||||
|
||||
return spdk_blob_is_degraded(b->blob);
|
||||
}
|
||||
|
||||
struct spdk_bs_dev *
|
||||
bs_create_blob_bs_dev(struct spdk_blob *blob)
|
||||
{
|
||||
@ -180,6 +188,7 @@ bs_create_blob_bs_dev(struct spdk_blob *blob)
|
||||
b->bs_dev.unmap = blob_bs_dev_unmap;
|
||||
b->bs_dev.is_zeroes = blob_bs_is_zeroes;
|
||||
b->bs_dev.translate_lba = blob_bs_translate_lba;
|
||||
b->bs_dev.is_degraded = blob_bs_is_degraded;
|
||||
b->blob = blob;
|
||||
|
||||
return &b->bs_dev;
|
||||
|
Loading…
Reference in New Issue
Block a user