2014-04-02 08:29:20 +00:00
|
|
|
btrfs-inspect-internal(8)
|
|
|
|
=========================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2015-11-02 13:41:32 +00:00
|
|
|
btrfs-inspect-internal - query various internal information
|
2014-04-02 08:29:20 +00:00
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2014-05-19 15:49:35 +00:00
|
|
|
*btrfs inspect-internal* <subcommand> <args>
|
2014-04-02 08:29:20 +00:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2015-11-02 13:41:32 +00:00
|
|
|
|
|
|
|
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.
|
2014-04-02 08:29:20 +00:00
|
|
|
|
|
|
|
SUBCOMMAND
|
|
|
|
----------
|
2016-02-22 14:49:50 +00:00
|
|
|
*dump-tree* [options] <device>::
|
2016-03-10 14:18:01 +00:00
|
|
|
(may need root privileges to access the device)
|
|
|
|
+
|
|
|
|
Dump tree structures from a given device in textual form, expand keys to human
|
|
|
|
readable equivalents where possible.
|
|
|
|
This is useful for analyzing filesystem state or inconsistencies and has
|
|
|
|
a positive educational effect on understanding the internal filesystem structure.
|
2016-02-22 14:49:50 +00:00
|
|
|
+
|
2016-03-10 14:18:01 +00:00
|
|
|
NOTE: contains file names, consider that if you're asked to send the dump for
|
|
|
|
analysis. Does not contain file data.
|
2016-02-22 14:49:50 +00:00
|
|
|
+
|
|
|
|
`Options`
|
|
|
|
+
|
2016-03-10 14:18:01 +00:00
|
|
|
-e|--extents::::
|
|
|
|
print only extent-related information: extent and device trees
|
|
|
|
-d|--device::::
|
|
|
|
print only device-related information: tree root, chunk and device trees
|
|
|
|
-r|--roots::::
|
|
|
|
print only short root node information, ie. the root tree keys
|
|
|
|
-R|--backups::::
|
|
|
|
same as --roots plus print backup root info, ie. the backup root keys and
|
|
|
|
the respective tree root block offset
|
|
|
|
-u|--uuid::::
|
|
|
|
print only the uuid tree information, empty output if the tree does not exist
|
2016-02-22 14:49:50 +00:00
|
|
|
-b <block_num>::::
|
2016-03-10 14:18:01 +00:00
|
|
|
print info of the specified block only
|
2016-02-22 14:49:50 +00:00
|
|
|
-t <tree_id>::::
|
2016-03-10 14:57:46 +00:00
|
|
|
print only the tree with the specified ID, where the ID can be numerical or
|
|
|
|
common name in a flexible human readable form
|
|
|
|
+
|
|
|
|
The tree id name recognition rules:
|
|
|
|
[options="compact"]
|
|
|
|
* case does not matter
|
|
|
|
* the C source definition, eg. BTRFS_ROOT_TREE_OBJECTID
|
|
|
|
* short forms without BTRFS_ prefix, without _TREE and _OBJECTID suffix, eg. ROOT_TREE, ROOT
|
|
|
|
* convenience aliases, eg. DEVICE for the DEV tree, CHECKSUM for CSUM
|
|
|
|
* unrecognized ID is an error
|
2016-02-22 14:49:50 +00:00
|
|
|
|
2015-11-02 13:41:32 +00:00
|
|
|
*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
|
2014-04-02 08:29:20 +00:00
|
|
|
+
|
|
|
|
`Options`
|
|
|
|
+
|
|
|
|
-v::::
|
2015-11-02 13:41:32 +00:00
|
|
|
verbose mode, print count of returned paths and ioctl() return value
|
2014-04-02 08:29:20 +00:00
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*logical-resolve* [-Pv] [-s <bufsize>] <logical> <path>::
|
2015-11-02 13:41:32 +00:00
|
|
|
(needs root privileges)
|
2014-04-02 08:29:20 +00:00
|
|
|
+
|
2015-11-02 13:41:32 +00:00
|
|
|
resolve paths to all files at given 'logical' address in the linear filesystem space
|
2014-04-02 08:29:20 +00:00
|
|
|
+
|
|
|
|
`Options`
|
|
|
|
+
|
|
|
|
-P::::
|
|
|
|
skip the path resolving and print the inodes instead
|
|
|
|
-v::::
|
2015-11-02 13:41:32 +00:00
|
|
|
verbose mode, print count of returned paths and all ioctl() return values
|
2014-04-02 08:29:20 +00:00
|
|
|
-s <bufsize>::::
|
2015-11-02 13:41:32 +00:00
|
|
|
set internal buffer for storing the file names to 'bufsize', default is 4096, maximum 64k
|
2014-04-02 08:29:20 +00:00
|
|
|
|
2015-07-20 15:31:43 +00:00
|
|
|
*min-dev-size* [options] <path>::
|
2015-11-02 13:41:32 +00:00
|
|
|
(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
|
2015-07-20 15:31:43 +00:00
|
|
|
+
|
|
|
|
`Options`
|
|
|
|
+
|
2015-11-02 13:41:32 +00:00
|
|
|
--id <id>::::
|
|
|
|
specify the device 'id' to query, default is 1 if this option is not used
|
2015-07-20 15:31:43 +00:00
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*rootid* <path>::
|
2015-11-02 13:41:32 +00:00
|
|
|
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)
|
2014-04-02 08:29:20 +00:00
|
|
|
+
|
2015-11-02 13:41:32 +00:00
|
|
|
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
|
2014-04-02 08:29:20 +00:00
|
|
|
|
2016-02-24 10:52:34 +00:00
|
|
|
*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)
|
|
|
|
|
2015-01-03 01:17:28 +00:00
|
|
|
*subvolid-resolve* <subvolid> <path>::
|
2015-11-02 13:41:32 +00:00
|
|
|
(needs root privileges)
|
|
|
|
+
|
|
|
|
resolve the absolute path of a the subvolume id 'subvolid'
|
2015-01-03 01:17:28 +00:00
|
|
|
|
2014-04-02 08:29:20 +00:00
|
|
|
EXIT STATUS
|
|
|
|
-----------
|
2014-09-19 01:49:59 +00:00
|
|
|
*btrfs inspect-internal* returns a zero exit status if it succeeds. Non zero is
|
2014-04-02 08:29:20 +00:00
|
|
|
returned in case of failure.
|
|
|
|
|
|
|
|
AVAILABILITY
|
|
|
|
------------
|
2014-05-19 16:04:26 +00:00
|
|
|
*btrfs* is part of btrfs-progs.
|
2014-04-02 08:29:20 +00:00
|
|
|
Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
|
|
|
|
further details.
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
`mkfs.btrfs`(8),
|
|
|
|
`btrfs-debug-tree`(8)
|