On 2021/3/30 上午2:53, David Sterba wrote:
On Thu, Mar 25, 2021 at 03:14:32PM +0800, Qu Wenruo wrote:
v3:
- Rename the sysfs to supported_sectorsizes
- Rebased to latest misc-next branch
This removes 2 cleanup patches.
- Add new overview comment for subpage metadata
V3 is now in for-next, targeting merge for 5.13. Please post any fixups
as replies to the individual patches, I'll fold them in, rather a full
series resend. Thanks.
Is it possible to drop patch "[PATCH v3 04/13] btrfs: refactor how we
iterate ordered extent in btrfs_invalidatepage()"?
Since in the series, there are no other patches touching it, dropping it
should not involve too much hassle.
The problem here is, how we handle ordered extent really belongs to the
data write path.
Furthermore, after all the data RW related testing, it turns out that
the ordered extent code has several problems:
- Separate indicators for ordered extent
We use PagePriavte2 to indicate whether we have pending ordered extent
io.
But it is not properly integrated into ordered extent code, nor really
properly documented.
- Complex call sites requirement
For endio we don't care whether we finished the ordered extent, while
for invalidatepage, we don't really need to bother if we finished all
the ordered extents in the range.
Thus we really don't need to bother who finished the ordered extents,
but just want to mark the io finished for the range.
- Lack subpage compatibility
That's why I'm here complaining, especially due to the PagePrivate2
usage.
It needs to be converted to a new bitmap.
There will be a refactor on the btrfs_dec_test_*_ordered_pending()
functions soon, and obvious the existing call sites will all be gone.
Thus that fourth patch makes no sense.
If needed, I can resend the patchset without that patch.
Thanks,
Qu