bdev/ocssd: Clean-up three small helper functions for zone
Clean-up bdev_ocssd_num_zones(), bdev_ocssd_get_zone_by_lba(), and bdev_ocssd_get_zone_by_slba() to make a little easier to read and understand. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I13c92dc86dc3855f1ec9ab5ae9d7097607f20512 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5129 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
729f7ec516
commit
f90c6378a5
@ -182,32 +182,33 @@ SPDK_BDEV_MODULE_REGISTER(ocssd, &ocssd_if);
|
||||
static uint64_t
|
||||
bdev_ocssd_num_zones(const struct ocssd_bdev *ocssd_bdev)
|
||||
{
|
||||
return ocssd_bdev->nvme_bdev.disk.blockcnt / ocssd_bdev->nvme_bdev.disk.zone_size;
|
||||
const struct spdk_bdev *bdev = &ocssd_bdev->nvme_bdev.disk;
|
||||
|
||||
return bdev->blockcnt / bdev->zone_size;
|
||||
}
|
||||
|
||||
static struct bdev_ocssd_zone *
|
||||
bdev_ocssd_get_zone_by_lba(struct ocssd_bdev *ocssd_bdev, uint64_t lba)
|
||||
bdev_ocssd_get_zone_by_lba(const struct ocssd_bdev *ocssd_bdev, uint64_t lba)
|
||||
{
|
||||
struct nvme_bdev *nvme_bdev = &ocssd_bdev->nvme_bdev;
|
||||
size_t zone_size = nvme_bdev->disk.zone_size;
|
||||
const struct spdk_bdev *bdev = &ocssd_bdev->nvme_bdev.disk;
|
||||
|
||||
if (lba >= nvme_bdev->disk.blockcnt) {
|
||||
if (lba >= bdev->blockcnt) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return &ocssd_bdev->zones[lba / zone_size];
|
||||
return &ocssd_bdev->zones[lba / bdev->zone_size];
|
||||
}
|
||||
|
||||
static struct bdev_ocssd_zone *
|
||||
bdev_ocssd_get_zone_by_slba(struct ocssd_bdev *ocssd_bdev, uint64_t slba)
|
||||
{
|
||||
struct nvme_bdev *nvme_bdev = &ocssd_bdev->nvme_bdev;
|
||||
const struct spdk_bdev *bdev = &ocssd_bdev->nvme_bdev.disk;
|
||||
|
||||
if (slba % nvme_bdev->disk.zone_size != 0) {
|
||||
if (slba % bdev->zone_size != 0 || slba >= bdev->blockcnt) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return bdev_ocssd_get_zone_by_lba(ocssd_bdev, slba);
|
||||
return &ocssd_bdev->zones[slba / bdev->zone_size];
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user