>         if (f2fs_need_seq_seg(sbi))
>                 return 0;
>
> static inline bool f2fs_need_seq_seg(struct f2fs_sb_info *sbi)
> {
>         return F2FS_OPTION(sbi).fs_mode == FS_MODE_FRAGMENT_FIXED_BLK;
> }
>

Do you need this in select_policy(), either?
Like,
        if (f2fs_need_rand_seg(sbi))
                p->offset = prandom_u32() % (MAIN_SECS(sbi) *
sbi->segs_per_sec);
        else if (f2fs_need_seq_seg(sbi))
                p->offset = 0;

> One more concern... we'd better to save fragment_remained_hole as well
> as fragment_remained_chunk,  otherwise, if fragment_chunk_size +
> fragment_hole_size > 512, fragment hole will be truncated to 512 -
> fragment_chunk_size due to we won't create hole with enough size as
> seg->next_blkoff has crossed end of current segment.
>

Sorry, I don't get it. You mean making fragment_remained_hole as a
global variable?
Maybe, we run into the same race condition issue you told before for
fragment_remained_chunk.
Could you clarify this more?

Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to