On Mon, Jul 24, 2017 at 07:02:12PM -0400, Dennis Zhou wrote: > From: "Dennis Zhou (Facebook)" <dennissz...@gmail.com> > > This patch introduces the bitmap metadata blocks and adds the skeleton > of the code that will be used to maintain these blocks. Each chunk's > bitmap is made up of full metadata blocks. These blocks maintain basic > metadata to help prevent scanning unnecssarily to update hints. Full > scanning methods are used for the skeleton and will be replaced in the > coming patches. A number of helper functions are added as well to do > conversion of pages to blocks and manage offsets. Comments will be > updated as the final version of each function is added. > > There exists a relationship between PAGE_SIZE, PCPU_BITMAP_BLOCK_SIZE, > the region size, and unit_size. Every chunk's region (including offsets) > is page aligned at the beginning to preserve alignment. The end is > aligned to LCM(PAGE_SIZE, PCPU_BITMAP_BLOCK_SIZE) to ensure that the end > can fit with the populated page map which is by page and every metadata > block is fully accounted for. The unit_size is already page aligned, but > must also be aligned with PCPU_BITMAP_BLOCK_SIZE to ensure full metadata > blocks. > > Signed-off-by: Dennis Zhou <dennissz...@gmail.com>
Reviewed-by: Josef Bacik <jba...@fb.com> Thanks, Josef