[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210819144927.25163-1-enwlinux@gmail.com>
Date: Thu, 19 Aug 2021 10:49:25 -0400
From: Eric Whitney <enwlinux@...il.com>
To: linux-ext4@...r.kernel.org
Cc: tytso@....edu, Eric Whitney <enwlinux@...il.com>
Subject: [PATCH 0/2] ext4: fix inline data / extent status truncation bug
If ext4 converts an inline file to extents when applying writes under
delayed allocation that exceed the available inline storage, one or
more delayed allocated extents may be stored in the extent status cache
with an accompanying increase in the reserved block count. If the file
is subsequently truncated before writeback occurs, that inode's delayed
allocated extents will not be removed from the extent status cache and
the reserved block count will not be reduced as required after
truncation. At minimum, unexpected ENOSPC conditions can occur.
Eric Whitney (2):
ext4: remove extent cache entries when truncating inline data
ext4: enforce buffer head state assertion in ext4_da_map_blocks
fs/ext4/inline.c | 19 +++++++++++++++++++
fs/ext4/inode.c | 15 +++++++++------
2 files changed, 28 insertions(+), 6 deletions(-)
--
2.20.1
Powered by blists - more mailing lists