diff options
Diffstat (limited to 'lib/support/quotaio.c')
-rw-r--r-- | lib/support/quotaio.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/support/quotaio.c b/lib/support/quotaio.c index b41bb74..f5f2c7f 100644 --- a/lib/support/quotaio.c +++ b/lib/support/quotaio.c @@ -119,7 +119,7 @@ errcode_t quota_inode_truncate(ext2_filsys fs, ext2_ino_t ino) break; if (qtype != MAXQUOTAS) { - inode.i_dtime = fs->now ? fs->now : time(0); + ext2fs_set_dtime(fs, &inode); if (!ext2fs_inode_has_valid_blocks2(fs, &inode)) return 0; err = ext2fs_punch(fs, ino, &inode, NULL, 0, ~0ULL); @@ -272,6 +272,7 @@ static errcode_t quota_inode_init_new(ext2_filsys fs, ext2_ino_t ino) { struct ext2_inode inode; errcode_t err = 0; + time_t now; err = ext2fs_read_inode(fs, ino, &inode); if (err) { @@ -287,8 +288,10 @@ static errcode_t quota_inode_init_new(ext2_filsys fs, ext2_ino_t ino) memset(&inode, 0, sizeof(struct ext2_inode)); ext2fs_iblk_set(fs, &inode, 0); - inode.i_atime = inode.i_mtime = - inode.i_ctime = fs->now ? fs->now : time(0); + now = fs->now ? fs->now : time(0); + ext2fs_inode_xtime_set(&inode, i_atime, now); + ext2fs_inode_xtime_set(&inode, i_ctime, now); + ext2fs_inode_xtime_set(&inode, i_mtime, now); inode.i_links_count = 1; inode.i_mode = LINUX_S_IFREG | 0600; inode.i_flags |= EXT2_IMMUTABLE_FL; |