Re: [f2fs-dev] [PATCH v2] f2fs: introduce fragment allocation mode mount option

From: Chao Yu
Date: Fri Aug 27 2021 - 20:43:15 EST


On 2021/8/27 23:22, Daeho Jeong wrote:
I'd like to add a fixed chunk/hole fragmentation mode in addition, then
userspace can control the fragmented chunk/hole with fixed size.

How do you think of renaming "fragment:block" to "fragment:rand_block", and
then I can add "fragment:fixed_block" option and its logic in addition?


The reason I added the randomness on these values is the segment
selection in SSR mode.
If all the segments have the same free block counts, f2fs will
allocate a new segment sequentially in SSR.

I'm fine with this, since test program can customize different fragment
degree on segments by setting different chunk/hole size.

This was what I didn't want. Plus, in the real world, the size of hole
and chunk will be different in different segments.

But, if you think we need this "fragment:fixed_block" mode, I am happy
to have it. :)

Thanks a lot. :)

As you said it needs to be aligned to real world fragmentation, I notice that:
with this way, we can't simulate similar fragment in FTL, due to its page
mapping architecture, all fragmented data/node in filesystem will be written
sequentially into its blocks.

In order to simulate fragment in FTL, we need to:
- write data (chunk size) with dummy pages (hole size) to devices
- issue discards on those holes

I guess fragmenting device (erase blocks) at the same time wouldn't be
original intention of this patch, right?

Thanks,


Do we need to consider multiple thread scenario? in such case,
.fragment_remained_chunk may update randomly.

In addition, multiple log headers share one .fragment_remained_chunk,
it may cause unexpected result, it means there may be continuous holes
or chunks in locality due to swithing between different log headers.

Thanks,


Oh, I overlooked that point. I am going to add the variable for each
segment as you said before.

Thanks,