On Mon, Feb 22, 2021 at 02:33:45PM +0800, Qu Wenruo wrote: > This patchset can be fetched from the following github repo, along with > the full subpage RW support: > https://github.com/adam900710/linux/tree/subpage > > This patchset is for metadata read write support.
I've skimmed the patches, it's adding further helpers and special cases for subpage (but I could have missed something). From that I think it's ok to add it to for-next for some test coverage, but rather to make sure the subpage changes do not bleed to the regular case. > [TEST] > Since the data write path is not included in this patchset, we can't > really test it, but during the lunar new year vocation, I have tested > the full RW patchset with "fstresss -n 10000 -p2" on my Aarch64 board. > > And the full RW patchset survives without any crash for a full week. > > There is only one remaining bug exposed during the test, that we have > random data checksum mismatch, which is still under investigation. > > But the metadata part should be OK for submission. > > [DIFFERENCE AGAINST REGULAR SECTORSIZE] > The metadata part in fact has more new code than data part, as it has > some different behaviors compared to the regular sector size handling: > > - No more page locking > Now metadata read/write relies on extent io tree locking, other than > page locking. > This is to allow behaviors like read lock one eb while also try to > read lock another eb in the same page. > We can't rely on page lock as now we have multiple extent buffers in > the same page. > > - Page status update > Now we use subpage wrappers to handle page status update. > > - How to submit dirty extent buffers > Instead of just grabbing extent buffer from page::private, we need to > iterate all dirty extent buffers in the page and submit them. I'm not sure if all this information is also preserved in some comments, if not it definitely should.