dm btree spine: eliminate duplicate le32_to_cpu() in node_check()
authorJoe Thornber <ejt@redhat.com>
Fri, 10 Dec 2021 13:14:57 +0000 (13:14 +0000)
committerMike Snitzer <snitzer@redhat.com>
Tue, 4 Jan 2022 17:59:55 +0000 (12:59 -0500)
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/persistent-data/dm-btree-spine.c

index 3d5abf3..e653458 100644 (file)
@@ -36,7 +36,7 @@ static int node_check(struct dm_block_validator *v,
        struct node_header *h = &n->header;
        size_t value_size;
        __le32 csum_disk;
-       uint32_t flags;
+       uint32_t flags, nr_entries, max_entries;
 
        if (dm_block_location(b) != le64_to_cpu(h->blocknr)) {
                DMERR_LIMIT("node_check failed: blocknr %llu != wanted %llu",
@@ -53,15 +53,17 @@ static int node_check(struct dm_block_validator *v,
                return -EILSEQ;
        }
 
+       nr_entries = le32_to_cpu(h->nr_entries);
+       max_entries = le32_to_cpu(h->max_entries);
        value_size = le32_to_cpu(h->value_size);
 
        if (sizeof(struct node_header) +
-           (sizeof(__le64) + value_size) * le32_to_cpu(h->max_entries) > block_size) {
+           (sizeof(__le64) + value_size) * max_entries > block_size) {
                DMERR_LIMIT("node_check failed: max_entries too large");
                return -EILSEQ;
        }
 
-       if (le32_to_cpu(h->nr_entries) > le32_to_cpu(h->max_entries)) {
+       if (nr_entries > max_entries) {
                DMERR_LIMIT("node_check failed: too many entries");
                return -EILSEQ;
        }