----- Original Message ----- > On Thu, Feb 25, 2021 at 7:48 PM Bob Peterson <rpete...@redhat.com> wrote: > > > ----- Original Message ----- > > > >> once we change the journal format, in addition to recording block > > numbers > > > >> as extents, there are some additional issues we should address at the > > same > > > >> time: > > > > One thing I've always thought we should improve upon was the way we manage > > our bitmaps. Right now, if you allocate or free a block, unless it's on the > > first block of the rgrp, we need to write two blocks: (1) One for the > > bitmap > > that needs to change and, (2) Another for the rgrp to adjust its allocated > > and > > free numbers. The rgrplvb code will make this faster, but it would be nice > > if > > we would somehow keep "version 2" bitmaps such that each keeps its own > > statistics. > > > > That way we only need to journal and write the affected bitmap, and not > > necessarily its rgrp block as well. I could see us keep separate glocks > > for each bitmap, for example, and allowing multiple nodes to work on the > > same portion of the file system, but on unique bitmaps. > > > > On the other hand, we currently only need to look at the first block of > each resource group to figure out if a resource group is suitable for an > allocation. If we move that information into the bitmap blocks, we'll have > to look at each of those blocks instead. That's not going to improve our > performance. > > Andreas > The LVBs will shield us from that, but they won't shield us from having to rewrite 2 blocks instead of 1.
Bob