summaryrefslogtreecommitdiff
path: root/Documentation/btrfs-inspect-internal.asciidoc
blob: bbbbc5973ff43198c018d044948b208ef7112db9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
btrfs-inspect-internal(8)
=========================

NAME
----
btrfs-inspect-internal - query various internal information

SYNOPSIS
--------
*btrfs inspect-internal* <subcommand> <args>

DESCRIPTION
-----------

This command group provides an interface to query internal information. The
functionality ranges from a simple UI to an ioctl or a more complex query that
assembles the result from several internal structures. The latter usually
requires calls to privileged ioctls.

SUBCOMMAND
----------
*dump-tree* [options] <device>::
(needs root privileges)
+
Dump the whole tree of the given device.
This is useful for analyzing filesystem state or inconsistence and has
a positive educational effect on understanding the internal structure.
<device> is the device file where the filesystem is stored.
+
`Options`
+
-e::::
Print detailed extents info.
-d::::
Print info of btrfs device and root tree dirs only.
-r::::
Print info of roots only.
-R::::
Print info of roots and root backups.
-u::::
Print info of UUID tree only.
-b <block_num>::::
Print info of the specified block only.
-t <tree_id>::::
Print only the tree with the specified ID.

*inode-resolve* [-v] <ino> <path>::
(needs root privileges)
+
resolve paths to all files with given inode number 'ino' in a given subvolume
at 'path', ie. all hardlinks
+
`Options`
+
-v::::
verbose mode, print count of returned paths and ioctl() return value

*logical-resolve* [-Pv] [-s <bufsize>] <logical> <path>::
(needs root privileges)
+
resolve paths to all files at given 'logical' address in the linear filesystem space
+
`Options`
+
-P::::
skip the path resolving and print the inodes instead
-v::::
verbose mode, print count of returned paths and all ioctl() return values
-s <bufsize>::::
set internal buffer for storing the file names to 'bufsize', default is 4096, maximum 64k

*min-dev-size* [options] <path>::
(needs root privileges)
+
return the minimum size the device can be shrunk to, without performing any
resize operation, this may be useful before executing the actual resize operation
+
`Options`
+
--id <id>::::
specify the device 'id' to query, default is 1 if this option is not used

*rootid* <path>::
for a given file or directory, return the containing tree root id, for a
subvolume itself return it's own tree id (ie. subvol id)
+
NOTE: The result is undefined for the so-called empty subvolumes (identified by
inode number 2), but such subvolume does not contain any files anyway

*show-super* [options] <device> [device...]::
(needs root privileges)
+
Show btrfs superblock information stored in devices.
It is used to print the information of superblock,
you can specify which mirror to print out.
+
By default, every device's first superblock will be printed out.
+
Mainly used for debug purpose.
+
`Options`
+
-f::::
Print full superblock information.
+
Including the system chunk array and backup roots.
+
-a::::
Print information of all superblocks.
+
If this option is given, '-i' option will be ignored.
+
-i <super_mirror>::::
Specify which mirror to print out.
+
<super_mirror> is between 0 and 2.
If several '-i <super_mirror>' are given, only the last one is valid.
+
-F::::
Attempt to print the superblock even if no superblock magic is found.  May end
badly.
-s <bytenr>::::
specifiy offset to a superblock in a non-standard location at 'bytenr', useful
for debugging (disables the '-f' option)

*subvolid-resolve* <subvolid> <path>::
(needs root privileges)
+
resolve the absolute path of a the subvolume id 'subvolid'

EXIT STATUS
-----------
*btrfs inspect-internal* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.

AVAILABILITY
------------
*btrfs* is part of btrfs-progs.
Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
further details.

SEE ALSO
--------
`mkfs.btrfs`(8),
`btrfs-debug-tree`(8)