From: Zhang Yi <yi.zhang@xxxxxxxxxx> Hello, guys. I'm working on switching ext4 buffer IO from buffer_head to iomap and enable large folio on regular file recently, this patch set is one of a preparation of this work. It first correct the hole length returned by ext4_map_blocks() when user query mapping type and blocks range, and then make this function and ext4_set_iomap() are able to distinguish delayed allocated only mapping from hole, finally cleanup the ext4_iomap_begin_report() by the way. This preparation patch set changes the ext4 map -> iomap converting logic in ext4_set_iomap(), so that the later buffer IO conversion can use it. This patch set is already passed 'kvm-xfstests -g auto' tests. Thanks, Yi. Zhang Yi (6): ext4: introduce ext4_es_skip_hole_extent() to skip hole extents ext4: make ext4_es_lookup_extent() return the next extent if not found ext4: correct the hole length returned by ext4_map_blocks() ext4: add a hole extent entry in cache after punch ext4: make ext4_map_blocks() distinguish delayed only mapping ext4: make ext4_set_iomap() recognize IOMAP_DELALLOC mapping type fs/ext4/ext4.h | 7 ++++- fs/ext4/extents.c | 5 ++-- fs/ext4/extents_status.c | 53 ++++++++++++++++++++++++-------- fs/ext4/extents_status.h | 2 ++ fs/ext4/inode.c | 60 ++++++++++++++++++------------------- include/trace/events/ext4.h | 28 +++++++++++++++++ 6 files changed, 107 insertions(+), 48 deletions(-) -- 2.39.2