When running 'make W=2' there are a few reports where a variable of the
same name is declared in a nested block. In all the cases we can use the
one declared in the parent block, no problematic cases were found.
Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
 
        for (int i = 0; i < num_folios; i++) {
                struct folio *folio = new->folios[i];
-               int ret;
 
                ret = attach_extent_buffer_folio(new, folio, NULL);
                if (ret < 0) {
                return;
 
        if (fs_info->nodesize < PAGE_SIZE) {
-               struct folio *folio = eb->folios[0];
-
+               folio = eb->folios[0];
                ASSERT(i == 0);
                if (WARN_ON(!btrfs_subpage_test_uptodate(fs_info, folio,
                                                         eb->start, eb->len)))
 
        u64 alloc_hint = 0;
 
        if (do_free) {
-               struct async_chunk *async_chunk;
                struct async_cow *async_cow;
 
-               async_chunk = container_of(work, struct async_chunk, work);
                btrfs_add_delayed_iput(async_chunk->inode);
                if (async_chunk->blkcg_css)
                        css_put(async_chunk->blkcg_css);