I was just reading up on the Birth
section of stat
and it appears ext4 should support it, but even a file I just created leaves it empty.
~ % touch test slave-iv
~ % stat test.pl slave-iv
File: ‘test.pl’
Size: 173 Blocks: 8 IO Block: 4096 regular file
Device: 903h/2307d Inode: 41943086 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/xenoterracide) Gid: ( 100/ users)
Access: 2012-09-22 18:22:16.924634497 -0500
Modify: 2012-09-22 18:22:16.924634497 -0500
Change: 2012-09-22 18:22:16.947967935 -0500
Birth: -
~ % sudo tune2fs -l /dev/md3 | psp4 slave-iv
tune2fs 1.42.5 (29-Jul-2012)
Filesystem volume name: home
Last mounted on: /home
Filesystem UUID: ab2e39fb-acdd-416a-9e10-b501498056de
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: journal_data
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 59736064
Block count: 238920960
Reserved block count: 11946048
Free blocks: 34486248
Free inodes: 59610013
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 967
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
RAID stride: 128
RAID stripe width: 256
Flex block group size: 16
Filesystem created: Mon May 31 20:36:30 2010
Last mount time: Sat Oct 6 11:01:01 2012
Last write time: Sat Oct 6 11:01:01 2012
Mount count: 14
Maximum mount count: 34
Last checked: Tue Jul 10 08:26:37 2012
Check interval: 15552000 (6 months)
Next check after: Sun Jan 6 07:26:37 2013
Lifetime writes: 7255 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 55313243
Default directory hash: half_md4
Directory Hash Seed: 442c66e8-8b67-4a8c-92a6-2e2d0c220044
Journal backup: inode blocks
Why doesn't my ext4
partition populate this field?
sudo debugfs -R 'stat /path/to/foo' /dev/sda2
gives me/path/to/foo: File not found by ext2_lookup
.stat /path/to/foo
works (with Birth empty). Also,ext2
? – Sparhawk Nov 09 '13 at 03:01/home/user/path/to/file
because/home
was on a separate partition. In that case, the path provided tostat
must be relative to/home
. Example:sudo debugfs -R 'stat user/path/to/file' /dev/sda2
. To get rid of the path handling, we can provide tostat
the inode number instead of the path:sudo debugfs -R "stat <$(stat -c %i /home/user/path/to/file)>" /dev/sda5
– jep Apr 17 '14 at 02:39stat /home/richard
issudo debugfs -R 'stat /richard' /dev/disk/by-label/home
— assuming that/home
is a separate file-system, and you file-systems are labelled. – ctrl-alt-delor Aug 11 '14 at 11:27sudo debugfs -R 'stat file.txt' /dev/sda5
. Why debufs cannot find the file.txt on sda5? – Zachary Sep 16 '14 at 11:17cd
command. I suppose its default working directory is the root of the filesystem accessed, so/home
in your example. If your path~
is/home/zachary
, trysudo debugfs -R 'stat /zachary/file.txt' /dev/sda5
orsudo debugfs -R 'stat zachary/file.txt' /dev/sda5
. Both should work. – jep Sep 17 '14 at 04:25The filespec argument may be specified in two forms. The first form is an inode number surrounded by angle brackets, e.g., <2>. The second form is a pathname; if the pathname is pre‐fixed by a forward slash ('/'), then it is interpreted relative to the root of the filesystem which is currently opened by debugfs. If not, the pathname is interpreted relative to the current working directory as maintained by debugfs. This may be modified by using the debugfs command cd.
– jep Sep 17 '14 at 04:27debugfs
working directory is the same as root of the filesystem opened. Theroot /
is NOT the usual top directory of linux system, but the top directory of the partition (mine is sda5) debugged by debugfs. – Zachary Sep 17 '14 at 07:55Alternatively, some file formats allow you to insert metadata inside the file (e.g. ID3), and that generally carries well, but many formats don't have such feature. Finally, you can put the file inside an archive file like
– André Paramés Apr 04 '19 at 11:06<
and>
around the inode number are required. They are often used in examples to surround a variable that should be adjusted, but in this case they must be entered literally. Without them, the inode number is treated as a path, and you get aFile not found by ext2_lookup
error. – mivk Oct 15 '19 at 15:49