[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 16 Oct 2019 13:07:06 +0530
From: Ritesh Harjani <riteshh@...ux.ibm.com>
To: tytso@....edu, jack@...e.cz, linux-ext4@...r.kernel.org
Cc: linux-fsdevel@...r.kernel.org, mbobrowski@...browski.org,
riteshh@...ux.ibm.com
Subject: [RFC 0/5] Ext4: Add support for blocksize < pagesize for dioread_nolock
This patch series adds the support for blocksize < pagesize for
dioread_nolock feature.
Since in case of blocksize < pagesize, we can have multiple
small buffers of page as unwritten extents, we need to
maintain a vector of these unwritten extents which needs
the conversion after the IO is complete. Thus, we maintain
a list of tuple <offset, size> pair (io_end_vec) for this &
traverse this list to do the unwritten to written conversion.
Appreciate any reviews/comments on this patches.
Tests completed
===============
All (which also passes in default config) "quick" group xfstests
are passing. Tested xfstests with below configurations.
dioread_nolock with blocksize < pagesize
dioread_nolock with blocksize == pagesize
without dioread_nolock with blocksize < pagesize
without dioread_nolock with blocksize == pagesize
ltp/fsx test with multiple iterations of 1 million ops
did not show any error.
About patches
=============
Patch 1 - 3: These are some cleanup and refactoring patches.
Patch 4: This patch adds the required support.
Patch 5: This patch removes the checks which was not allowing to mount
with dioread_nolock when blocksize != pagesize was true.
_Patches can be cleanly applied on today's linus tree master branch_
Ritesh Harjani (5):
ext4: keep uniform naming convention for io & io_end variables
ext4: Add API to bring in support for unwritten io_end_vec conversion
ext4: Refactor mpage_map_and_submit_buffers function
ext4: Add support for blocksize < pagesize in dioread_nolock
ext4: Enable blocksize < pagesize for dioread_nolock
fs/ext4/ext4.h | 13 ++++-
fs/ext4/extents.c | 49 ++++++++++++-----
fs/ext4/inode.c | 136 ++++++++++++++++++++++++++++++----------------
fs/ext4/page-io.c | 110 ++++++++++++++++++++++++-------------
fs/ext4/super.c | 10 ----
5 files changed, 208 insertions(+), 110 deletions(-)
--
2.21.0
Powered by blists - more mailing lists