Thread (29 messages) 29 messages, 4 authors, 2014-03-18

Re: [PATCH 1/6 v2] ext4: Update inode i_size after the preallocation

From: Lukáš Czerner <hidden>
Date: 2014-03-17 10:48:40
Also in: linux-fsdevel, linux-xfs

On Sun, 16 Mar 2014, tytso@mit.edu wrote:
Date: Sun, 16 Mar 2014 23:02:01 -0400
From: tytso@mit.edu
To: Lukas Czerner <redacted>
Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com
Subject: Re: [PATCH 1/6 v2] ext4: Update inode i_size after the preallocation

On Tue, Feb 25, 2014 at 08:14:34PM +0100, Lukas Czerner wrote:
quoted
Currently in ext4_fallocate we would update inode size, c_time and sync
the file with every partial allocation which is entirely unnecessary. It
is true that if the crash happens in the middle of truncate we might end
up with unchanged i size, or c_time which I do not think is really a
problem - it does not mean file system corruption in any way. Note that
xfs is doing things the same way e.g. update all of the mentioned after
the allocation is done.

This commit moves all the updates after the allocation is done. In
addition we also need to change m_time as not only inode has been change
bot also data regions might have changed (unwritten extents). However
m_time will be only updated when i_size changed.

Also we do not need to be paranoid about changing the c_time only if the
actual allocation have happened, we can change it even if we try to
allocate only to find out that there are already block allocated. It's
not really a big deal and it will save us some additional complexity.

Also use ext4_debug, instead of ext4_warning in #ifdef EXT4FS_DEBUG
section.

Signed-off-by: Lukas Czerner <redacted>
Further testing has shown that this patch (applied on top of the ext4
dev branch) is causing a regression failure of xfstests shared/243.

Could you take a look?

						- Ted
Hi Ted,

I am looking into this. Thanks!

-Lukas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help