.SH SYNOPSIS
.B debugfs
[
-.B \-DVwci
+.B \-DVwcin
]
[
.B \-b
Specifies that the file system should be opened in read-write mode.
Without this option, the file system is opened in read-only mode.
.TP
+.I \-n
+Disables metadata checksum verification. This should only be used if
+you believe the metadata to be correct despite the complaints of
+e2fsprogs.
+.TP
.I \-c
Specifies that the file system should be opened in catastrophic mode, in
which the inode and group bitmaps are not read initially. This can be
.B debugfs
supports.
.TP
+.I blocks filespace
+Print the blocks used by the inode
+.I filespec
+to stdout.
+.TP
.I bmap filespec logical_block
Print the physical block number corresponding to the logical block number
.I logical_block
in the inode
.IR filespec .
.TP
+.I block_dump [-f out_file] block_num
+Dump the contents of a block, optionally to
+.IR out_file .
+.TP
.I cat filespec
Dump the contents of the inode
.I filespec
Clear the contents of the inode
.IR file .
.TP
+.I dirsearch filespec filename
+Search the directory
+.I filespec
+for
+.IR filename .
+.TP
.I dump [-p] filespec out_file
Dump the contents of the inode
.I filespec
to match
.IR filespec .
.TP
+.I dump_mmp
+Display the multiple-mount protection (mmp) field values.
+.TP
+.I dx_hash [-h hash_alg] [-s hash_seed] filename
+Calculate the directory hash of
+.IR filename .
+The hash algorithm specified with
+.I -h
+may be "legacy" "half_md4" or "tea".
+The hash seed specified with
+.I -s
+must be in UUID format.
+.TP
.I dump_extents [-n] [-l] filespec
Dump the the extent tree of the inode
.IR filespec .
or clearing any filesystem features that were requested, print the current
state of the filesystem feature set.
.TP
+.I filefrag [-dvr] filespec
+Print the number of contiguous extents in
+.IR filespec .
+If
+.I filespec
+is a directory and the
+.I -d
+option is not specified,
+.I filefrag
+will print the number of contiguous extents for each file in
+the directory. The
+.I -v
+option will cause
+.I filefrag
+print a tabular listing of the contiguous extents in the
+file. The
+.I -r
+option will cause
+.I filefrag
+to do a recursive listing of the directory.
+.TP
.I find_free_block [count [goal]]
Find the first
.I count
.I block
will be marked as not allocated.
.TP
-.I freei filespec
+.I freefrag [-c chunk_kb ]
+Report free space fragmentation on the currently open file system.
+If the
+.I \-c
+option is specified then the filefrag command will print how many free
+chunks of size
+.I chunk_kb
+can be found in the file system. The chunk size must be a power of two
+and be larger than the file system block size.
+.TP
+.I freei filespec [num]
Free the inode specified by
.IR filespec .
+If
+.I num
+is specified, also clear num-1 inodes after the specified inode.
.TP
.I help
Print a list of commands understood by
.BR debugfs .
.TP
+.I htree_dump filespec
+Dump the hash-indexed directory
+.IR filespec ,
+showing its tree structure.
+.TP
.I icheck block ...
Print a listing of the inodes which use the one or more blocks specified
on the command line.
.I \-b
options.
.TP
-.I ls [-l] [-d] [-p] filespec
+.I ls [-l] [-c] [-d] [-p] filespec
Print a listing of the files in the directory
.IR filespec .
The
.I \-l
flag will list files using a more verbose format.
The
+.I \-c
+flag causes directory block checksums (if present) to be displayed.
+The
.I \-d
flag will list deleted entries in the directory.
The
.I minor
device numbers must be specified.
.TP
-.I ncheck inode_num ...
+.I ncheck [-c] inode_num ...
Take the requested list of inode numbers, and print a listing of pathnames
-to those inodes.
+to those inodes. The
+.I -c
+flag will enable checking the file type information in the directory
+entry to make sure it matches the inode's type.
.TP
.I open [-w] [-e] [-f] [-i] [-c] [-D] [-b blocksize] [-s superblock] device
Open a filesystem for editing. The
.I start_blk
through to the end of the file will be deallocated.
.TP
+.I symlink filespec target
+Make a symbolic link.
+.TP
.I pwd
Print the current working directory.
.TP
has value
.I value.
.TP
-.I seti filespec
+.I seti filespec [num]
Mark inode
.I filespec
-as in use in the inode bitmap.
+as in use in the inode bitmap. If
+.I num
+is specified, also set num-1 inodes after the specified inode.
.TP
.I set_inode_field filespec field value
Modify the inode specified by
can be displayed by using the command:
.B set_inode_field -l
.TP
+.I set_mmp_value field value
+Modify the multiple-mount protection (mmp) data so that the
+mmp field
+.I field
+has value
+.I value.
+The list of valid mmp fields which can be set via this command
+can be displayed by using the command:
+.B set_mmp_value -l
+.TP
.I set_super_value field value
Set the superblock field
.I field
and copy the contents of
.I source_file
into the destination file.
+.TP
+.I zap_block [-f file] [-o offset] [-l length] [-p pattern] block_num
+Zero, or pattern-fill, portions of a block within a file or
+within the filesystem.
+.TP
+.I zap_block [-f file] [-b bit] block_num
+Bit-flip portions of a block within a file or
+within the filesystem.
.SH ENVIRONMENT VARIABLES
.TP
.B DEBUGFS_PAGER, PAGER