lightnvm: pblk: Switch to use new generic UUID API
There are new types and helpers that are supposed to be used in new code. As a preparation to get rid of legacy types and API functions do the conversion here. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Javier González <javier@javigon.com> Signed-off-by: Matias Bjørling <mb@lightnvm.io> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
e74ecf63ef
commit
7e0a0847ed
@ -1065,7 +1065,7 @@ static int pblk_line_init_metadata(struct pblk *pblk, struct pblk_line *line,
|
||||
bitmap_set(line->lun_bitmap, 0, lm->lun_bitmap_len);
|
||||
|
||||
smeta_buf->header.identifier = cpu_to_le32(PBLK_MAGIC);
|
||||
memcpy(smeta_buf->header.uuid, pblk->instance_uuid, 16);
|
||||
guid_copy((guid_t *)&smeta_buf->header.uuid, &pblk->instance_uuid);
|
||||
smeta_buf->header.id = cpu_to_le32(line->id);
|
||||
smeta_buf->header.type = cpu_to_le16(line->type);
|
||||
smeta_buf->header.version_major = SMETA_VERSION_MAJOR;
|
||||
@ -1874,7 +1874,8 @@ void pblk_line_close_meta(struct pblk *pblk, struct pblk_line *line)
|
||||
|
||||
if (le32_to_cpu(emeta_buf->header.identifier) != PBLK_MAGIC) {
|
||||
emeta_buf->header.identifier = cpu_to_le32(PBLK_MAGIC);
|
||||
memcpy(emeta_buf->header.uuid, pblk->instance_uuid, 16);
|
||||
guid_copy((guid_t *)&emeta_buf->header.uuid,
|
||||
&pblk->instance_uuid);
|
||||
emeta_buf->header.id = cpu_to_le32(line->id);
|
||||
emeta_buf->header.type = cpu_to_le16(line->type);
|
||||
emeta_buf->header.version_major = EMETA_VERSION_MAJOR;
|
||||
|
@ -130,7 +130,7 @@ static int pblk_l2p_recover(struct pblk *pblk, bool factory_init)
|
||||
struct pblk_line *line = NULL;
|
||||
|
||||
if (factory_init) {
|
||||
pblk_setup_uuid(pblk);
|
||||
guid_gen(&pblk->instance_uuid);
|
||||
} else {
|
||||
line = pblk_recov_l2p(pblk);
|
||||
if (IS_ERR(line)) {
|
||||
|
@ -703,11 +703,13 @@ struct pblk_line *pblk_recov_l2p(struct pblk *pblk)
|
||||
|
||||
/* The first valid instance uuid is used for initialization */
|
||||
if (!valid_uuid) {
|
||||
memcpy(pblk->instance_uuid, smeta_buf->header.uuid, 16);
|
||||
guid_copy(&pblk->instance_uuid,
|
||||
(guid_t *)&smeta_buf->header.uuid);
|
||||
valid_uuid = 1;
|
||||
}
|
||||
|
||||
if (memcmp(pblk->instance_uuid, smeta_buf->header.uuid, 16)) {
|
||||
if (!guid_equal(&pblk->instance_uuid,
|
||||
(guid_t *)&smeta_buf->header.uuid)) {
|
||||
pblk_debug(pblk, "ignore line %u due to uuid mismatch\n",
|
||||
i);
|
||||
continue;
|
||||
@ -737,7 +739,7 @@ struct pblk_line *pblk_recov_l2p(struct pblk *pblk)
|
||||
}
|
||||
|
||||
if (!found_lines) {
|
||||
pblk_setup_uuid(pblk);
|
||||
guid_gen(&pblk->instance_uuid);
|
||||
|
||||
spin_lock(&l_mg->free_lock);
|
||||
WARN_ON_ONCE(!test_and_clear_bit(meta_line,
|
||||
|
@ -646,7 +646,7 @@ struct pblk {
|
||||
|
||||
int sec_per_write;
|
||||
|
||||
unsigned char instance_uuid[16];
|
||||
guid_t instance_uuid;
|
||||
|
||||
/* Persistent write amplification counters, 4kb sector I/Os */
|
||||
atomic64_t user_wa; /* Sectors written by user */
|
||||
@ -1360,14 +1360,6 @@ static inline unsigned int pblk_get_secs(struct bio *bio)
|
||||
return bio->bi_iter.bi_size / PBLK_EXPOSED_PAGE_SIZE;
|
||||
}
|
||||
|
||||
static inline void pblk_setup_uuid(struct pblk *pblk)
|
||||
{
|
||||
uuid_le uuid;
|
||||
|
||||
uuid_le_gen(&uuid);
|
||||
memcpy(pblk->instance_uuid, uuid.b, 16);
|
||||
}
|
||||
|
||||
static inline char *pblk_disk_name(struct pblk *pblk)
|
||||
{
|
||||
struct gendisk *disk = pblk->disk;
|
||||
|
Loading…
Reference in New Issue
Block a user