From mboxrd@z Thu Jan 1 00:00:00 1970 From: tytso@mit.edu Subject: Re: [PATCH 1/3 v3] ext4: Update inode i_size after the preallocation Date: Mon, 24 Mar 2014 20:05:21 -0400 Message-ID: <20140325000521.GA2399@thunk.org> References: <1395156873-13188-1-git-send-email-lczerner@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-ext4@vger.kernel.org To: Lukas Czerner Return-path: Received: from imap.thunk.org ([74.207.234.97]:45494 "EHLO imap.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750866AbaCYAF2 (ORCPT ); Mon, 24 Mar 2014 20:05:28 -0400 Content-Disposition: inline In-Reply-To: <1395156873-13188-1-git-send-email-lczerner@redhat.com> Sender: linux-ext4-owner@vger.kernel.org List-ID: On Tue, Mar 18, 2014 at 04:34:31PM +0100, Lukas Czerner wrote: > 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 I noticed I didn't explicitly ack this in patchwork, but as you've probably noticed, I've merged the v3 version of these patches into the ext4 patch queue. Cheers, - Ted