OSDN Git Service

ext4: Add support for blocksize < pagesize in dioread_nolock
authorRitesh Harjani <riteshh@linux.ibm.com>
Wed, 16 Oct 2019 07:37:10 +0000 (13:07 +0530)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 22 Oct 2019 19:32:53 +0000 (15:32 -0400)
commitc8cc88163f40df39e50cda63ac361631864b453e
treef562970d46082d4f02ffa4f19faf15a1a97f94b8
parent2943fdbc688e7a1b4d9e3bc76a8e5ba624550213
ext4: Add support for blocksize < pagesize in dioread_nolock

This patch 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.

Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com>
Link: https://lore.kernel.org/r/20191016073711.4141-5-riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/extents.c
fs/ext4/inode.c
fs/ext4/page-io.c