From 7323b87213937fa6d8a41e6373b391f8bfb5c693 Mon Sep 17 00:00:00 2001 From: Bo Branten Date: Thu, 5 Sep 2024 01:53:51 +0200 Subject: [PATCH] moved update of mount time in the superblock --- Ext4Fsd/fsctl.c | 7 +++++++ Ext4Fsd/memory.c | 7 ------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Ext4Fsd/fsctl.c b/Ext4Fsd/fsctl.c index 0596fe8..ef5819f 100644 --- a/Ext4Fsd/fsctl.c +++ b/Ext4Fsd/fsctl.c @@ -2047,6 +2047,7 @@ Ext2MountVolume (IN PEXT2_IRP_CONTEXT IrpContext) PEXT2_SUPER_BLOCK Ext2Sb = NULL; ULONG dwBytes; DISK_GEOMETRY DiskGeometry; + LARGE_INTEGER SysTime, LinuxTime; __try { @@ -2216,6 +2217,12 @@ Ext2MountVolume (IN PEXT2_IRP_CONTEXT IrpContext) DEBUG(DL_ERR, ( "Found ext4 filesystem with invalid superblock checksum. Run e2fsck?\n")); } + /* update fs mount time */ + KeQuerySystemTime(&SysTime); + Ext2TimeToSecondsSince1970(&SysTime, &LinuxTime.LowPart, &LinuxTime.HighPart); + Vcb->SuperBlock->s_mtime = LinuxTime.LowPart; + Vcb->SuperBlock->s_mtime_hi = (UCHAR)LinuxTime.HighPart; + SetLongFlag(Vcb->Flags, VCB_MOUNTED); SetFlag(Vcb->Vpb->Flags, VPB_MOUNTED); Ext2InsertVcb(Vcb); diff --git a/Ext4Fsd/memory.c b/Ext4Fsd/memory.c index 3252642..0b95ebd 100644 --- a/Ext4Fsd/memory.c +++ b/Ext4Fsd/memory.c @@ -2279,7 +2279,6 @@ Ext2InitializeVcb( IN PEXT2_IRP_CONTEXT IrpContext, USHORT Buffer[2]; ULONG ChangeCount = 0, features; CC_FILE_SIZES FileSizes; - LARGE_INTEGER SysTime, LinuxTime; int i, has_huge_files; BOOLEAN VcbResourceInitialized = FALSE; @@ -2713,12 +2712,6 @@ Ext2InitializeVcb( IN PEXT2_IRP_CONTEXT IrpContext, /* query parameters from registry */ Ext2PerformRegistryVolumeParams(Vcb); - /* update fs mount time */ - KeQuerySystemTime(&SysTime); - Ext2TimeToSecondsSince1970(&SysTime, &LinuxTime.LowPart, &LinuxTime.HighPart); - Vcb->SuperBlock->s_mtime = LinuxTime.LowPart; - Vcb->SuperBlock->s_mtime_hi = (UCHAR)LinuxTime.HighPart; - SetLongFlag(Vcb->Flags, VCB_INITIALIZED); } __finally {