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

Lukáš Czerner
2014-02-18T08:13:27Z

On Mon, 17 Feb 2014, Theodore Ts'o wrote:

> Date: Mon, 17 Feb 2014 18:21:00 -0500
> From: Theodore Ts'o <tytso@mit.edu>
> To: Andreas Dilger <adilger@dilger.ca>
> Cc: Lukas Czerner <lczerner@redhat.com>,
> Ext4 Developers List <linux-ext4@vger.kernel.org>,
> linux-fsdevel <linux-fsdevel@vger.kernel.org>, xfs@oss.sgi.com
> Subject: Re: [PATCH 1/6] ext4: Update inode i_size after the preallocation
>
> On Mon, Feb 17, 2014 at 04:12:14PM -0700, Andreas Dilger wrote:
> >
> > I don't necessarily agree about this. Calling fallocate() will not
> > change the user-visible data at all, so there is no reason to e.g.
> > do a new backup of the file or reprocess the contents, or any other
> > reason that an application cares about a changed mtime.
>
> Well, if i_size has changed, then the visible results of reading from
> the file will change, so in that case I'd argue m_time should change.
> If the results of reading file doesn't change then we can keep m_time
> unchanged --- but since the inode is changing, c_time *should* always
> change any time we've made any changes to the extent tree.
>
> - Ted

So I guess the consensus is to update m_time only when the inode size
changes in fallocate case. I'll change that in the code.

Thanks!
-Lukas