---
name: "debugfs.ocfs2"
section: "8"
platform: "linux"
package: "ocfs2-tools"
version: "1.8.8-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/debugfs.ocfs2"
---

# debugfs.ocfs2(8)

OCFS2 file system debugger.

## NAME

debugfs.ocfs2 - OCFS2 file system debugger.

## SYNOPSIS

**debugfs.ocfs2** \[**-f** *cmdfile*\] \[**-R** *command*\] \[**-s** *backup*\] \[**-nwV?**\] \[*device*\]

- **debugfs.ocfs2** **-l** \[*tracebit* ... \[**allow**\|**off**\|**deny**\]\] ...

  - **debugfs.ocfs2** **-d, --decode** *lockname*

  - **debugfs.ocfs2** **-e, --encode** *lock\_type block\_num \[generation \| parent\]*

  ## DESCRIPTION

The **debugfs.ocfs2** program is an interactive file system debugger useful in displaying on-disk **OCFS2** filesystem structures on the specified *device*.

## OPTIONS

- **-d, --decode** *lockname*

  Display the information encoded in the *lockname*.

- **-e, --encode** *lock\_type block\_num \[generation \| parent\]*

  Display the lockname obtained by encoding the arguments provided.

- **-f, --file** *cmdfile*

  Executes the debugfs commands in *cmdfile*.

- **-i, --image**

  Specifies device is an o2image file created by *o2image* tool.

- **-l** \[*tracebit* ... \[**allow**\|**off**\|**deny**\]\] ...

  Control **OCFS2** filesystem tracing by enabling and disabling trace bits. Do *debugfs.ocfs2 -l* to get the list of all trace bits.

- **-n, --noprompt**

  Hide prompt.

- **-R, --request** *command*

  Executes a single debugfs command.

- **-s, --superblock** *backup-number*

  *mkfs.ocfs2* makes up to 6 backup copies of the superblock at offsets 1G, 4G, 16G, 64G, 256G and 1T depending on the size of the volume. Use this option to specify the backup, 1 thru 6, to use to open the volume.

- **-w, --write**

  Opens the filesystem in *RW* mode. By default the filesystem is opened in *RO* mode.

- **-V, --version**

  Display version and exit.

- **-?, --help**

  Displays help and exit.

## SPECIFYING FILES

Many **debugfs.ocfs2** commands take a *filespec* as an argument to specify an inode (as opposed to a pathname) in the filesystem which is currently opened by **debugfs.ocfs2**. The *filespec* argument may be specified in two forms. The first form is an inode number or lockname surrounded by angle brackets, e.g., \<32\>. The second form is a pathname; if the pathname is prefixed by a forward slash ('/'), then it is interpreted relative to the root of the filesystem which is currently opened by **debugfs.ocfs2**. If not, the path is interpreted relative to the current working directory as maintained by **debugfs.ocfs2**, which can be modified using the command *cd*. If the pathname is prefixed by a double forward slash ('//'), then it is interpreted relative to the root of the system directory of the filesystem opened by **debugfs.ocfs2**.

## LOCKNAMES

Locknames are specially formatted strings used by the file system to uniquely identify objects in the filesystem. Most locknames used by *OCFS2* are generated using the inode number and its generation number and can be decoded using the *decode* command or used directly in place of an inode number in commands requiring a *filespec*. Like inode numbers, locknames need to be enclosed in angle brackets, e.g., \<M000000000000000040c40c044069cf\>. Use the *encode* command to generate all possible locknames for an object.

## COMMANDS

This is a list of the commands which debugfs.ocfs2 supports.

- *bmap filespec logical\_block*

  Display the physical block number corresponding to the logical block number *logical\_block* in the inode *filespec*.

- *cat filespec*

  Dump the contents of inode *filespec* to stdout.

- *cd filespec*

  Change the current working directory to *filespec*.

- *chroot filespec*

  Change the root directory to be the directory *filespec*.

- *close*

  Close the currently opened filesystem.

- *controld dump*

  Display information obtained from ocfs2\_controld.

- *curdev*

  Show the currently open device.

- *decode \<lockname\>*

  Display the inode number encoded in the *lockname*.

- *dirblocks \<filespec\>*

  Display the directory blocks associated with the given *filespec*.

- *dlm\_locks \[-f \<file\>\] \[-l\] \[\<lockname(s)\>\]...*

  Display the status of all lock resources in the *o2dlm* domain that the file system is a member of. This command expects the debugfs filesystem to be mounted as *mount -t debugfs debugfs /sys/kernel/debug*. Use *lockname(s)* to limit the output to the given lock resources, *-l* to include contents of the lock value block and *-f \<file\>* to specify a saved copy of /sys/kernel/debug/o2dlm/\<DOMAIN\>/locking\_state.

- *dump \[-p\] filespec outfile*

  Dump the contents of the inode *filespec* to the output file *outfile*. If the *-p* is given, set the owner, group, timestamps and permissions information on *outfile* to match those of *filespec*.

- *dx\_dump filespec*

  Display the indexed directory information for the given directory.

- *dx\_leaf \<block#\>*

  Display the contents of the given indexed directory leaf block.

- *dx\_root \<block#\>*

  Display the contents of the given indexed directory root block.

- *dx\_space filespec*

  Display the directory free space list.

- *encode filespec*

  Display the lockname for the *filespec*.

- *extent \<block#\>*

  Display the contents of the extent structure at *block#*.

- *findpath \[\<lockname\>\|\<inode#\>\]*

  Display the pathname for the inode specified by *lockname* or *inode#*. This command does not display all the hard-linked paths for the inode.

- *frag filespec*

  Display the inode's number of extents to clusters ratio.

- *fs\_locks \[-f \<file\>\] \[-l\] \[-B\] \[\<lockname(s)\>\]...*

  Display the status of all locks known by the file system. This command expects the debugfs filesystem to be mounted as *mount -t debugfs debugfs /sys/kernel/debug*. Use *lockname(s)* to limit the output to the given lock resources, *-B* to limit the output to only the busy locks, *-l* to include contents of the lock value block and *-f \<file\>* to specify a saved copy of /sys/kernel/debug/ocfs2/\<UUID\>/locking\_state.

- *group \<block#\>*

  Display the contents of the group descriptor at *block#*.

- *grpextents \<block#\>*

  Display free extents in the chain group.

- *hb*

  Display the contents of the heartbeat system file.

- *help, ?*

  Print the list of commands understood by **debugfs.ocfs2**.

- *icheck block# ...*

  Display the inodes that use the one or more blocks specified on the command line. If the inode is a regular file, also display the corresponding logical block offset.

- *lcd directory*

  Change the current working directory of the **debugfs.ocfs2** process to the *directory* on the native filesystem.

- *locate \[\<lockname\>\|\<inode#\>\] ...*

  Display all pathnames for the inode(s) specified by *lockname*s or *inode#*s.

- *logdump \[-T\] slot#*

  Display the contents of the journal for slot *slot#*. Use *-T* to limit the output to just the summary of the inodes in the journal.

- *ls \[-l\] filespec*

  Print the listing  of the files in the directory *filespec*. The *-l* flag will list files in the long format.

- *net\_stats \[-f \<file\>\] \[interval \[count\]\]*

  Display the net statistics. This command expects the debugfs filesystem to be mounted at */sys/kernel/debug*. The *interval* is in seconds. Use the *-f* parameter to specify a saved copy of /sys/kernel/debug/o2net/stats.

- *ncheck \[\<lockname\>\|\<inode#\>\] ...*

  See *locate*.

- *open device*

  Open the filesystem on *device*.

- *quit, q*

  Quit **debugfs.ocfs2**.

- *rdump \[-v\] filespec outdir*

  Recursively dump directory *filespec* and all its contents (including regular files, symbolic links and other directories) into the *outdir* which should be an existing directory on the native filesystem.

- *refcount \[-e\] filespec*

  Display the refcount block, and optionally its tree, of the specified inode.

- *slotmap*

  Display the contents of the *slotmap* system file.

- *stat \[-t\|-T\] filespec*

  Display the contents of the inode structure for the *filespec*.  The *-t* ("traverse") option selects traversal of the inode's metadata. The extent tree, chain list, or other extra metadata will be dumped.  This is the default.  The *-T* option turns off traversal to reduce the I/O required when basic inode information is needed.

- *stat\_sysdir*

  Display the contents of all objects in the system directory.

- *stats \[-h\] \[-s backup-number\]*

  Display the contents of the superblock. Use *-s* to display a specific backup superblock. Use *-h* to hide the inode.

- *xattr \[-v\] \<filespec\>*

  Display extended attributes associated with the given *filespec*.

## ACKNOWLEDGEMENT

This tool has been modelled after **debugfs**, a debugging tool for ext2.

## SEE ALSO

**[fsck.ocfs2(8)](/fsck.ocfs2/8.md)** **[fsck.ocfs2.checks(8)](/fsck.ocfs2.checks/8.md)** **[mkfs.ocfs2(8)](/mkfs.ocfs2/8.md)** **[mount.ocfs2(8)](/mount.ocfs2/8.md)** **[mounted.ocfs2(8)](/mounted.ocfs2/8.md)** **[o2cluster(8)](/o2cluster/8.md)** **[o2image(8)](/o2image/8.md)** **[o2info(1)](/o2info/1.md)** **[ocfs2(7)](/ocfs2/7.md)** **[tunefs.ocfs2(8)](/tunefs.ocfs2/8.md)**

## AUTHOR

Oracle Corporation

## COPYRIGHT

Copyright © 2004, 2012 Oracle. All rights reserved.
