diff mbox series

mm/shmem: tmpfs fallocate use file_modified()

Message ID 39c5e62-4896-7795-c0a0-f79c50d4909@google.com (mailing list archive)
State New, archived
Headers show
Series mm/shmem: tmpfs fallocate use file_modified() | expand

Commit Message

Hugh Dickins Aug. 11, 2022, 4:55 a.m. UTC
5.18 fixed the btrfs and ext4 fallocates to use file_modified(), as xfs
was already doing, to drop privileges: and fstests generic/{683,684,688}
expect this.  There's no need to argue over keep-size allocation (which
could just update ctime): fix shmem_fallocate() to behave the same way.

Signed-off-by: Hugh Dickins <hughd@google.com>
---

 mm/shmem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Christian Brauner Aug. 12, 2022, 8:20 a.m. UTC | #1
On Wed, Aug 10, 2022 at 09:55:36PM -0700, Hugh Dickins wrote:
> 5.18 fixed the btrfs and ext4 fallocates to use file_modified(), as xfs
> was already doing, to drop privileges: and fstests generic/{683,684,688}
> expect this.  There's no need to argue over keep-size allocation (which
> could just update ctime): fix shmem_fallocate() to behave the same way.
> 
> Signed-off-by: Hugh Dickins <hughd@google.com>
> ---

Looks good to me,
Acked-by: Christian Brauner (Microsoft) <brauner@kernel.org>
diff mbox series

Patch

--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2839,12 +2839,13 @@  static long shmem_fallocate(struct file *file, int mode, loff_t offset,
 
 	if (!(mode & FALLOC_FL_KEEP_SIZE) && offset + len > inode->i_size)
 		i_size_write(inode, offset + len);
-	inode->i_ctime = current_time(inode);
 undone:
 	spin_lock(&inode->i_lock);
 	inode->i_private = NULL;
 	spin_unlock(&inode->i_lock);
 out:
+	if (!error)
+		file_modified(file);
 	inode_unlock(inode);
 	return error;
 }