Block number '0' should not be used as the fake block number for the delayed new buffer. This will result in vfs calling umap_underlying_metadata for block number '0'. So use -1 instead. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> --- fs/ext4/inode.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 12dcfab..c7c2156 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -2318,7 +2318,7 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock, /* not enough space to reserve */ return ret; - map_bh(bh_result, inode->i_sb, 0); + map_bh(bh_result, inode->i_sb, -1); set_buffer_new(bh_result); set_buffer_delay(bh_result); } else if (ret > 0) { -- tg: (15262e5..) proper_mappingblock_for_delay (depends on: preallocate_corruption_quickfix) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html