Thread (10 messages) 10 messages, 3 authors, 2021-09-15

Re: [PATCH v2 0/3] btrfs: btrfs_bio and btrfs_io_bio rename

From: David Sterba <hidden>
Date: 2021-09-14 16:26:04

On Tue, Sep 14, 2021 at 09:25:40AM +0800, Qu Wenruo wrote:
The branch can be fetched from github, and is the preferred way to grab
the code, as this patchset changed quite a lot of code.
https://github.com/adam900710/linux/tree/chunk_refactor

There are two structure, btrfs_io_bio and btrfs_bio, which have very
similar names but completely different meanings.

Btrfs_io_bio mostly works at logical bytenr layer (its
bio->bi_iter.bi_sector points to btrfs logical bytenr), and just
contains extra info like csum and mirror_num.

And btrfs_io_bio is in fact the most utilized bio, as all data/metadata
IO is using btrfs_io_bio.

While btrfs_bio is completely a helper structure for stripe IO
submission (RAID56 doesn't utilize it for IO submission).

Such naming is completely anti-human.

So this patchset will do the following renaming:

- btrfs_bio -> btrfs_io_context
  Since it's not really used by all bios (only mirrored profiles utilize
  it), and it contains extra info for RAID56, it's not proper to name it
  with _bio suffix.

  Later we can integrate btrfs_io_context pointer into the new
  btrfs_bio.

- btrfs_io_bio -> btrfs_bio
  I originally plan to rename it to btrfs_logical_bio, but it's a little
  too long for a lot of functions.
This sounds all good. The only dangerous thing is that btrfs_bio now
means something else, so that can become problem with backports or
requiring to do a mental switch when reading before/after the version it
appears.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help