Quoting Zygo Blaxell <ce3g8...@umail.furryterror.org>:
On Sun, Sep 15, 2019 at 01:54:07PM -0400, General Zed wrote:
Quoting Zygo Blaxell <ce3g8...@umail.furryterror.org>:
> On Fri, Sep 13, 2019 at 09:50:38PM -0400, General Zed wrote:
> >
> > Quoting Zygo Blaxell <ce3g8...@umail.furryterror.org>:
> >
> > > On Fri, Sep 13, 2019 at 01:05:52AM -0400, General Zed wrote:
> > > >
> > > > Quoting Zygo Blaxell <ce3g8...@umail.furryterror.org>:
> > > >
> > > > > On Thu, Sep 12, 2019 at 08:26:04PM -0400, General Zed wrote:
> > > > > >
> > > > > > Quoting Zygo Blaxell <ce3g8...@umail.furryterror.org>:
I have a few questions for you.
1. Does the btrfs driver already keep a cache off all the mentioned
trees (entent tree, subvol tree, free space tree, csum tree) in RAM?
I guess the answer is YES. This makes defrag easier to implement.
2. Is the size of those caches dynamically configurable?
I guess the answer is YES. This makes defrag easier to implement.
3. Can the cache size of csum tree be increased to approx. 128 MB. ,
for example?
I guess the answer is YES. This makes defrag easier to implement.
4. This is a part of format of subvol tree that I don't understand. You said:
"A file consists of an inode item followed by extent ref items (aka
reflinks) in a subvol tree keyed by (inode, offset) pairs. Subvol tree
pages can be shared with other subvol trees to make snapshots."
Those "extent ref items" must also be forming a tree. But how are
nodes of this tree addressed? The inode&offset is the key, but how do
you get an address of a child node?
Do nodes in the subvol tree equal the metadata extents? Or is this
tree special in that regard? Because, it seems a bit ridiculous to
have (for example) a 16 KB metadata extent for each directory or a 16
K metadata extent in the subvol tree for a file that is only a few
bytes in length.