On Mon, 17 Feb 2014, Theodore Ts'o wrote:
> Date: Mon, 17 Feb 2014 18:21:00 -0500
> From: Theodore Ts'o <tytso@xxxxxxx>
> To: Andreas Dilger <adilger@xxxxxxxxx>
> Cc: Lukas Czerner <lczerner@xxxxxxxxxx>,
> Ext4 Developers List <linux-ext4@xxxxxxxxxxxxxxx>,
> linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
> 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.