From: Darrick J. Wong Date: Thu, 24 Apr 2025 21:43:54 +0000 (-0700) Subject: fuse2fs: update new child timestamps during mkdir/symlink X-Git-Tag: archive/debian/1.47.2-2~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72e926c03e434b52c5555e2674d7d59c9e347cca;p=thirdparty%2Fe2fsprogs.git fuse2fs: update new child timestamps during mkdir/symlink These two file creation functions fail to update the timestamps of the new child file, unlike the others (mknod/creat). Fix that. Signed-off-by: Darrick J. Wong Link: https://lore.kernel.org/r/174553065141.1160461.7342685341356901806.stgit@frogsfrogsfrogs Signed-off-by: Theodore Ts'o (cherry picked from commit f73fbf8e2cee1f2d49f4e7573eadb9f1cf141879) --- diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c index 238804dd..d123eebb 100644 --- a/misc/fuse2fs.c +++ b/misc/fuse2fs.c @@ -976,6 +976,7 @@ static int op_mkdir(const char *path, mode_t mode) inode.i_mode = LINUX_S_IFDIR | (mode & ~S_ISUID) | parent_sgid; inode.i_generation = ff->next_generation++; + init_times(&inode); err = ext2fs_write_inode_full(fs, child, (struct ext2_inode *)&inode, sizeof(inode)); @@ -1349,6 +1350,7 @@ static int op_symlink(const char *src, const char *dest) inode.i_gid = ctxt->gid; ext2fs_set_i_gid_high(inode, ctxt->gid >> 16); inode.i_generation = ff->next_generation++; + init_times(&inode); err = ext2fs_write_inode_full(fs, child, (struct ext2_inode *)&inode, sizeof(inode));