On 1/26/21 3:33 AM, Qu Wenruo wrote:
Introduce a helper, read_extent_buffer_subpage(), to do the subpage
extent buffer read.

The difference between regular and subpage routines are:

- No page locking
   Here we completely rely on extent locking.
   Page locking can reduce the concurrency greatly, as if we lock one
   page to read one extent buffer, all the other extent buffers in the
   same page will have to wait.

- Extent uptodate condition
   Despite the existing PageUptodate() and EXTENT_BUFFER_UPTODATE check,
   We also need to check btrfs_subpage::uptodate_bitmap.

- No page iteration
   Just one page, no need to loop, this greatly simplified the subpage
   routine.

This patch only implements the bio submit part, no endio support yet.

Signed-off-by: Qu Wenruo <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: David Sterba <[email protected]>

Reviewed-by: Josef Bacik <[email protected]>

Thanks,

Josef

Reply via email to