btrfs inspect-internal <subcommand> <args>


btrfs inspect-internal is used to resolve different items for debug purpose.


inode-resolve [-v] <inode> <path>

Resolves an <inode> in subvolume <path> to all filesystem paths.



verbose mode. print count of returned paths and ioctl() return value

logical-resolve [-Pv] [-s <bufsize>] <logical> <path>

Resolves a <logical> address in the filesystem mounted at <path> to all inodes.

By default, each inode is then resolved to a file system path (similar to the inode-resolve subcommand).



skip the path resolving and print the inodes instead


verbose mode. print count of returned paths and all ioctl() return values

-s <bufsize>

set inode container\(cqs size.

This is used to increase inode container\(cqs size in case it is not enough to read all the resolved results. The max value one can set is 64k.

subvolid-resolve <subvolid> <path>

Get file system paths for the given subvolume ID.

rootid <path>

For a given file or directory, return the containing tree root id. For a subvolume return it\(cqs own tree id.

The result is undefined for the so-called empty subvolumes (identified by inode number 2).


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


btrfs is part of btrfs-progs. Please refer to the btrfs wiki \m[blue]\m[] for further details.

RELATED TO btrfs-inspect-internal…