Dear Mr Matthew
Hi! It's been a long time since we last discuss about f2fs supporting
large folios. I hope you're doing well!
Over the past three months, I've been working on large folios support
in my own fork of the f2fs tree. I've made some significant progress
and have a working implementation for:
- f2fs's own per folio struct f2fs_iomap_folio_state
- iomap-based buffered read and write.
- Large folios support for compressed files, including both buffered
I/O and page writeback.
My work is based on a several commits just after your "f2fs folio
conversions for 6.16" series on f2fs's dev-test branch(Not the
mainline) It can handle run on some simple read/write operations for
both normal and compressed files, but it is still largely untested.
You can find my WIP branch here:
I saw your recent series of patches for large folios support and was
excited to see the progress. I'm writing to you today to share an
update from my side and ask for some guidance.
Regarding our previous discussion about storing extra f2fs flags in
folio->private, I implemented a solution using a new
f2fs_iomap_folio_state struct and related APIs, which I placed in new
files (f2fs_ifs.c/.h). My design not only supports large folios but
also maintains compatibility with order-0 data and metadata folios
which storing the f2fs private flags directly in
folio->private.iomap_folio_state won't allocate for them. The memory
layout of my struct is also compatible with iomap's helpers.Now this
piece of code  conflicts with your latest patches that introduce
folio_set_f2fs_data. I assume the standard kernel development workflow
would be for me to rebase my local branch onto your latest commit and
then refactor my code to align with your new API. Is that correct? I
am more than happy to do so and adapt my implementation.
On a related note, I recently learned that storage engineers from vivo
also implemented iomap buffered write and page writeback conversions
for f2fs last year. (The latter shocks me, and I'll explain the reason
in a future conversation). Their work seemed doesn't include support
for compressed file large folios. It seems necessary for me to
coordinate with them.
Looking ahead, I understand that a feature of this size should be
submitted as a series of small, logical patches to make the review
process easier. I would be grateful for any thoughts you might have on
this approach as well.

Any feedback on my work or advice on how to proceed would be greatly
appreciated.

Thanks for your time.

Best regards.


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to