Strictly speaking the comparison between guid_t and raw buffer
is not correct. Import GUID to variable of guid_t type and then
compare.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
---
 drivers/lightnvm/pblk-recovery.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/lightnvm/pblk-recovery.c b/drivers/lightnvm/pblk-recovery.c
index 0e6f0c76e930..81b1b751d8c4 100644
--- a/drivers/lightnvm/pblk-recovery.c
+++ b/drivers/lightnvm/pblk-recovery.c
@@ -661,6 +661,7 @@ struct pblk_line *pblk_recov_l2p(struct pblk *pblk)
        int meta_line;
        int i, valid_uuid = 0;
        LIST_HEAD(recov_list);
+       guid_t guid;
 
        /* TODO: Implement FTL snapshot */
 
@@ -704,14 +705,15 @@ struct pblk_line *pblk_recov_l2p(struct pblk *pblk)
                        return ERR_PTR(-EINVAL);
                }
 
+               import_guid(&guid, smeta_buf->header.uuid);
+
                /* The first valid instance uuid is used for initialization */
                if (!valid_uuid) {
-                       import_guid(&pblk->instance_uuid, 
smeta_buf->header.uuid);
+                       guid_copy(&pblk->instance_uuid, &guid);
                        valid_uuid = 1;
                }
 
-               if (!guid_equal(&pblk->instance_uuid,
-                               (guid_t *)&smeta_buf->header.uuid)) {
+               if (!guid_equal(&pblk->instance_uuid, &guid)) {
                        pblk_debug(pblk, "ignore line %u due to uuid 
mismatch\n",
                                        i);
                        continue;
-- 
2.30.2

Reply via email to