Re: [PATCH 41/43] btrfs: make the init of static elements in fs_info separate

Nikolay Borisov
2020-01-23T12:30:27Z

On 17.01.20 г. 23:26 ч., Josef Bacik wrote:
> In adding things like eb leak checking and root leak checking there were
> a lot of weird corner cases that come from the fact that
>
> 1) We do not init the fs_info until we get to open_ctree time in the
> normal case and
>
> 2) The test infrastructure half-init's the fs_info for things that it
> needs.
>
> This makes it really annoying to make changes because you have to add
> init in two different places, have special cases for testing fs_info's
> that may not have certain things init'ed, and cases for fs_info's that
> didn't make it to open_ctree and thus are not fully init'ed.
>
> Fix this by extracting out the non-allocating init of the fs info into
> it's own public function and use that to make sure we're all getting
> consistent views of an allocated fs_info.
>

Imo it will be better if btrfs_init_fs_info is called from
init_mount_fs_info. And then called explicitly from the test code. That
way we keep the initialization close. Otherwise having it in
btrfs_mount_root is just confusing and not very obvious what's going on.