]> Gentwo Git Trees - linux/.git/commit
btrfs: remove btrfs_bio::fs_info by extracting it from btrfs_bio::inode
authorQu Wenruo <wqu@suse.com>
Tue, 28 Oct 2025 22:05:33 +0000 (08:35 +1030)
committerDavid Sterba <dsterba@suse.com>
Mon, 24 Nov 2025 21:40:16 +0000 (22:40 +0100)
commit81cea6cd7041ebd42281e0517f856d88527d3326
tree1fe24e8d2dcac52d7279969eb356f5db99418c42
parentc5667f9c8eb90293dfa4e52c65eb89fe39f5652d
btrfs: remove btrfs_bio::fs_info by extracting it from btrfs_bio::inode

Currently there is only one caller which doesn't populate
btrfs_bio::inode, and that's scrub.

The idea is scrub doesn't want any automatic csum verification nor
read-repair, as everything will be handled by scrub itself.

However that behavior is really no different than metadata inode, thus
we can reuse btree_inode as btrfs_bio::inode for scrub.

The only exception is in btrfs_submit_chunk() where if a bbio is from
scrub or data reloc inode, we set rst_search_commit_root to true.
This means we still need a way to distinguish scrub from metadata, but
that can be done by a new flag inside btrfs_bio.

Now btrfs_bio::inode is a mandatory parameter, we can extract fs_info
from that inode thus can remove btrfs_bio::fs_info to save 8 bytes from
btrfs_bio structure.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/bio.c
fs/btrfs/bio.h
fs/btrfs/compression.c
fs/btrfs/compression.h
fs/btrfs/direct-io.c
fs/btrfs/extent_io.c
fs/btrfs/inode.c
fs/btrfs/scrub.c
fs/btrfs/zoned.c