struct btrfs_fs_info *fs_info = root->fs_info;
        struct btrfs_tree_parent_check check = { 0 };
        u64 blocknr;
-       u64 gen;
        struct extent_buffer *tmp = NULL;
        int ret = 0;
        int parent_level;
        bool path_released = false;
 
        blocknr = btrfs_node_blockptr(*eb_ret, slot);
-       gen = btrfs_node_ptr_generation(*eb_ret, slot);
        parent_level = btrfs_header_level(*eb_ret);
        btrfs_node_key_to_cpu(*eb_ret, &check.first_key, slot);
        check.has_first_key = true;
        check.level = parent_level - 1;
-       check.transid = gen;
+       check.transid = btrfs_node_ptr_generation(*eb_ret, slot);
        check.owner_root = btrfs_root_id(root);
 
        /*
                        reada_for_search(fs_info, p, parent_level, slot, key->objectid);
 
                /* first we do an atomic uptodate check */
-               if (btrfs_buffer_uptodate(tmp, gen, 1) > 0) {
+               if (btrfs_buffer_uptodate(tmp, check.transid, 1) > 0) {
                        /*
                         * Do extra check for first_key, eb can be stale due to
                         * being cached, read from scrub, or have multiple