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?” →