Re: [PATCH v3 3/3] btrfs: rename struct btrfs_io_bio to btrfs_logical_bio
From: Nikolay Borisov <hidden>
Date: 2021-09-20 07:04:14
On 15.09.21 г. 10:17, Qu Wenruo wrote:
Previously we have "struct btrfs_bio", which records IO context for mirrored IO and RAID56, and "strcut btrfs_io_bio", which records extra btrfs specific info for logical bytenr bio. With "strcut btrfs_bio" renamed to "struct btrfs_io_context", we are safe to rename "strcut btrfs_io_bio" to "strcut btrfs_logical_bio" which is a more suitable name now. Although the name, "btrfs_logical_bio", is a little long and name "btrfs_bio" can be much shorter, "btrfs_bio" conflicts with previous "btrfs_bio" structure and can cause a lot of problems for backports. Thus here we choose the name "btrfs_logical_bio", which also emphasis those bios all work at logical bytenr. Signed-off-by: Qu Wenruo <redacted>
So thinking a bit more about the renaming we are trading "awkwardness" for future generations so that we make backporting easier or rather more fool proof. What if we backport a patch that does BUILD_BUG_ON predicated on the size of the btrfs_io_bio. That way if a patch backports cleanly and automatically but in fact git got confused by btrfs_bio vs btrfs_io_bio then a build failure would ensue due to mismatched sizes and that would be a clear indication something has gone wrong so whoever is doing the backport can go and correct the backport? David what do you think about this?