Let’s conduct a simple experiment. In the Ext4 file system, I create two files (“1.txt” and “2.txt”).
touch 1.txt 2.txt
Then, I gather file system metadata (including timestamps) for these files:
sudo debugfs -R 'stat /path_to/the_file/1.txt' /dev/block_device
sudo debugfs -R 'stat /path_to/the_file/2.txt' /dev/block_device
In my case, the output is:
For “1.txt”:
Inode: 23918802 Type: regular Mode: 0644 Flags: 0x80000 Generation: 2882061095 Version: 0x00000000:00000001 User: 1000 Group: 1000 Project: 0 Size: 0 File ACL: 0 Links: 1 Blockcount: 0 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 atime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 mtime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 crtime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 Size of extra inode fields: 32 Inode checksum: 0x9906b43e EXTENTS:
For “2.txt”:
Inode: 23921678 Type: regular Mode: 0644 Flags: 0x80000 Generation: 2369567438 Version: 0x00000000:00000001 User: 1000 Group: 1000 Project: 0 Size: 0 File ACL: 0 Links: 1 Blockcount: 0 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 atime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 mtime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 crtime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 Size of extra inode fields: 32 Inode checksum: 0x9b052019 EXTENTS:
Now, I’m going to store something in these files. I will use the bash shell to append some text to the first file (using the output redirection syntax) and the gedit text editor to modify the second one.
echo 123 >> 1.txt
gedit 2.txt # In the gedit window, I will type "456" and hit Ctrl-S.
And let’s get the timestamps for these files again…
For “1.txt”:
Inode: 23918802 Type: regular Mode: 0644 Flags: 0x80000 Generation: 2882061095 Version: 0x00000000:00000001 User: 1000 Group: 1000 Project: 0 Size: 4 File ACL: 0 Links: 1 Blockcount: 8 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x6399eed2:68debfb8 -- Wed Dec 14 18:42:10 2022 atime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 mtime: 0x6399eed2:68debfb8 -- Wed Dec 14 18:42:10 2022 crtime: 0x6399ee07:e1dbba28 -- Wed Dec 14 18:38:47 2022 Size of extra inode fields: 32 Inode checksum: 0x4a517d18 EXTENTS: (0):95716043
For “2.txt”:
Inode: 23860507 Type: regular Mode: 0644 Flags: 0x80000 Generation: 534549923 Version: 0x00000000:00000001 User: 1000 Group: 1000 Project: 0 Size: 4 File ACL: 0 Links: 1 Blockcount: 8 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x6399eed8:16d4b85c -- Wed Dec 14 18:42:16 2022 atime: 0x6399eed8:14ec7284 -- Wed Dec 14 18:42:16 2022 mtime: 0x6399eed8:16d4b85c -- Wed Dec 14 18:42:16 2022 crtime: 0x6399eed8:14ec7284 -- Wed Dec 14 18:42:16 2022 Size of extra inode fields: 32 Inode checksum: 0x2b67e3c3 EXTENTS: (0):96358507
Do you see anything unusual?
Continue reading “Do researchers handle exFAT volumes correctly?”