From: Jan Kara Date: Wed, 21 Dec 2022 16:53:28 +0000 (+0100) Subject: udf: Keep i_lenExtents consistent with the total length of extents X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b316c443b4e85f67e34807e11ca90049d6f6a098;p=linux.git udf: Keep i_lenExtents consistent with the total length of extents When rounding the last extent to blocksize in inode_getblk() we forgot to update also i_lenExtents to match the new extent length. This inconsistency can later confuse some assertion checks. Signed-off-by: Jan Kara --- diff --git a/fs/udf/inode.c b/fs/udf/inode.c index 000ce37e6e1ec..31965c3798f22 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -677,6 +677,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, elen = EXT_RECORDED_ALLOCATED | ((elen + inode->i_sb->s_blocksize - 1) & ~(inode->i_sb->s_blocksize - 1)); + iinfo->i_lenExtents = + ALIGN(iinfo->i_lenExtents, + inode->i_sb->s_blocksize); udf_write_aext(inode, &cur_epos, &eloc, elen, 1); } newblock = udf_get_lb_pblock(inode->i_sb, &eloc, offset);