summaryrefslogtreecommitdiffstats
path: root/lib/support/quotaio.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/support/quotaio.c')
-rw-r--r--lib/support/quotaio.c9
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;