Let’s use another file for comparison on the same mount, that has different timestamps for all four of its timestamps, so that there is no ambiguity present:
Windows 10 host:
Item : J:\other-file.out
CreationTime : 2020-01-08T11:06:04.7240271-06:00
LastAccessTime : 2021-11-08T14:53:39.4419329-06:00
LastWriteTime : 2020-01-08T11:06:49.3562341-06:00
ChangeTime : 2024-04-05T18:18:19.3274703-05:00
FileAttributes : 8224
Here is how it appears on the linux guest and I have no idea why it is showing the times it is showing for the modify/access times (probably left over garbage in memory from some other file?):
michael@Kubuntu-VM:~$ stat /media/sf_J_DRIVE/other-file.out
File: /media/sf_J_DRIVE/other-file.out
Size: 466173 Blocks: 1024 IO Block: 1048576 regular file
Device: 0,56 Inode: 75441 Links: 1
Access: (0770/-rwxrwx---) Uid: ( 0/ root) Gid: ( 999/ vboxsf)
Access: 2024-04-05 18:11:46.642577408 -0500
Modify: 2024-04-05 18:11:46.642577408 -0500
Change: 2024-04-05 18:18:19.327470300 -0500
Birth: 2020-01-08 11:06:04.724027100 -0600```
As an additional cross-reference, I created a second (manually mounted) mount of the J_DRIVE share of the Windows 10 host on the linux guest running as a VM, as "$HOME/jshare", but this time with all ttl mount options set to 0 (i.e., cache nothing for file access), which looks as follows from a mount perspective (note the presence of the following options: ttl=0,dcachettl=0,inodettl=0):
J_DRIVE on /home/michael/jshare type vboxsf (rw,nodev,relatime,ttl=0,dcachettl=0,inodettl=0,iocharset=utf8,uid=0,gid=0)
On this manually set up mount with “cache nothing” mount options, running stat on the file shows us:
File: /home/michael/jshare/other-file.out
Size: 466173 Blocks: 1024 IO Block: 1048576 regular file
Device: 0,52 Inode: 76041 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 1969-12-31 18:00:00.000000000 -0600
Modify: 1969-12-31 18:00:00.000000000 -0600
Change: 2024-04-05 18:18:19.327470300 -0500
Birth: 2020-01-08 11:06:04.724027100 -0600
So I was mistaken, the ChangeTime is being shown correctly, whether FS caching is utilized on the guest side or not, but the Modified (i.e., LastWrite) and LastAccess times are just garbage.