Re: [ANNOUNCE] bcachefs!

Ming Lin
2015-07-24T20:47:53Z

On Fri, 2015-07-24 at 12:15 -0700, Kent Overstreet wrote:
> On Tue, Jul 21, 2015 at 10:11:11PM -0700, Ming Lin wrote:
> > On Fri, Jul 17, 2015 at 10:21 PM, Ming Lin <mlin@kernel.org> wrote:
> > > On Fri, 2015-07-17 at 19:10 -0700, Kent Overstreet wrote:
> > >> BTW - probably the most valuable thing you could help out with is the
> > >> documentation, in particular the guide:
> > >> http://bcache.evilpiepirate.org/BcacheGuide/
> > >>
> > >> Can you read through (at least some of) that, and tell me what's useful and what
> > >> needs clarifying? And tell me what you'd like to see added to the guide next -
> > >> I'll try and work on documentation over the next two weeks, since I probably
> > >> won't be able to do much real coding with my test machines offline.
> > >
> > > Yes, I'll read through that.
> >
> > Would you add some example to explain how the extents/inodes/dirents are stored
> > in the btree on disk?
>
> Can you be more specific? Like how inodes/dirents map to keys in the btree, or
> how it all ends up on disk?

How it all ends up on disk.

>
> The inodes/dirents code is pretty short, I'd look at inode.c and dirent.c
>
> > I'm reading the debug code in drivers/md/bcache/debug.c.
> > It seems helpful to learn about the internal btree structure.
>
> Are you interested in more the format of the btree node itself, on disk? Like
> struct btree_node, struct btree_node_entry, struct bset, and the packing?
>
> I could try and elaborate on that in the guide, give me some specific questions
> to cover if you've got any

Only textbook knowledge of b+tree.

Yes, I'm interested in the format of btree on disk.
Some graph like this could help.
https://btrfs.wiki.kernel.org/index.php/Btrfs_design

And I want to learn how the btree node insert/delete/update happens on
disk. These maybe too detail. I'm going to write a small tool to dump
the file system. Then I could understand better the on disk btree
format.

Thanks.