---
name: "jfs_debugfs"
section: "8"
platform: "linux"
package: "jfsutils"
version: "1.1.15-9"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/jfs_debugfs"
---

# jfs\_debugfs(8)

shell-type JFS file system editor

## NAME

**jfs\_debugfs** - shell-type JFS file system editor

## SYNOPSIS

**jfs\_debugfs** *device*

## DESCRIPTION

**jfs\_debugfs** is a program which can be used to perform various low-level actions on a JFS formatted device.

*device* is the special file name corresponding to the actual device to be edited (e.g. **/dev/hdb1**).

**jfs\_debugfs** must be run as root.

## COMMANDS

- **a\[lter\]** *\<block\> \<offset\> \<hex\_string\>*

   replaces the data located at the *\<offset\>* of *\<block\>* with *\<hex\_string\>*

  *\<block\>* is the block number - given in decimal

  *\<offset\>* is the offset within that block - given in hexadecimal

  *\<hex\_string\>* is an even-numbered string of hexadecimal digits to write to the disk

- **b\[tree\]** *\<block\> \[\<offset\>\]*

  **\* not implemented yet \***\
    displays one node of the btree located at *\<offset\>* of *\<block\>* and enters a subcommand mode to navigate the btree

  **SUBCOMMANDS:**\
    l =\> visit left sibling\
    m =\> modify current node\
    p =\> visit parent node\
    r =\> visit right sibling\
    \[0-9\] =\> visit the n'th child node\
    x =\> exit subcommand mode

- **cb\[blfsck\]**

   displays the area used by ClearBadBlockList for communication with fsck

  **SUBCOMMANDS:**\
    m =\> modify entries\
    x =\> exit subcommand mode

- **dir\[ectory\]** *\<inode\_number\> \[\<file\_set\>\]*

   displays the directory entries at *\<inode\_number\>* and enters subcommand mode

  *\<inode\_number\>* is the directory's inode - given in decimal

  *\<file\_set\>* currently must be zero

  **SUBCOMMANDS:**\
    m =\> modify entries\
    x =\> exit subcommand mode

- **d\[isplay\]** *\[\<block\> \[\<offset\> \[\<format\> \[\<count\>\]\]\]\]*

  displays *\<count\>* objects located at the *\<offset\>* of *\<block\>* in *\<format\>*

  *\<block\>* is the block number - given in decimal

  *\<offset\>* is the offset within *\<block\>* - given in hexadecimal

  *\<format\>* is one of the following:\
    a =\> ascii\
    b =\> block allocation map\
    d =\> decimal\
    i =\> inode\
    I =\> inode allocation map\
    s =\> superblock\
    x =\> hexadecimal\
    X =\> extent allocation descriptor

  *\<count\>* is the number of objects to display - given in decimal

- **dm\[ap\]**

   displays aggregate disk (block) map

  **SUBCOMMANDS**\
    m =\> modify map fields\
    f =\> display free count\
    t =\> display tree levels\
    x =\> exit subcommand mode

- **dt\[ree\]** *\<inode\_number\> \[\<file\_set\>\]*

   displays root of the directory btree located at *\<inode\_number\>* and enters a subcommand mode to navigate the btree

  *\<inode\_number\>* is the directory's inode - given in decimal

  *\<file\_set\>* currently must be zero

  **SUBCOMMANDS**\
    l =\> visit left sibling\
    m =\> modify current node\
    p =\> visit parent node (not parent directory)\
    r =\> visit right sibling\
    \[0-9\] =\> visit the n'th child node\
    x =\> exit subcommand mode

- **fsckw\[sphdr\]**

   displays the header of the fsck workspace in the aggregate

  **SUBCOMMANDS:**\
    m =\> modify entries\
    x =\> exit subcommand mode

- **h\[elp\]** *\[\<command\>\]*

   displays help for *\<command\>*\
    if no command is given, all possible commands are displayed

- **ia\[g\]** *\[\<IAG\_number\>\] \[a \| s \| \<file\_set\>\]*

   displays IAG information for *\<IAG\_number\>* and enters subcommand mode

  *\<IAG\_number\>* is given in decimal

  *a* is to use the primary aggregate inode table

  *s* is to use the secondary aggregate inode table

  *\<file\_set\>* currently must be zero

  **SUBCOMMANDS**\
    e =\> display/modify inode extents map\
    m =\> modify IAG\
    p =\> display/modify persistent map\
    w =\> display/modify working map\
    x =\> exit subcommand mode

- **i\[node\]** *\[\<inode\_number\>\] \[a \| s \| \<file\_set\>\]*

   displays inode information for *\<inode\_number\>* and enters subcommand mode

  *\<inode\_number\>* is given in decimal

  *a* is to use the primary aggregate inode table

  *s* is to use the secondary aggregate inode table

  *\<file\_set\>* currently must be zero

  **SUBCOMMANDS**\
    a =\> display/modify inode's ACL\
    m =\> modify inode\
    x =\> exit subcommand mode

- **logs\[uper\]**

   displays the journal log superblock and enters subcommand mode

  **SUBCOMMANDS**\
    m =\> modify journal log superblock\
    x =\> exit subcommand mode

- **q\[uit\]**

   exits jfs\_debugfs

- **se\[t\]** *\[\<variable\> \<value\>\]*

  **\* not implemented yet \***\
    set user-defined *\<variable\>* to *\<value\>*\
    if no arguments are given, displays all set variables

  *\<variable\>* must begin with an alphabetic character

- **su\[perblock\]** *\[p \| s\]*

   displays superblock data

  *p* displays the primary superblock

  *s* displays the secondary superblock

  **SUBCOMMANDS:**\
    m =\> modify entries\
    x =\> exit subcommand mode

- **s2p\[erblock\]** *\[p \| s\]*

   displays alternate superblock data

  *p* displays the primary superblock

  *s* displays the secondary superblock

  **SUBCOMMANDS:**\
    m =\> modify entries\
    x =\> exit subcommand mode

- **u\[nset\]** *\<variable\>*

  **\* not implemented yet \***\
    deletes user-defined *\<variable\>*

- **xt\[ree\]** *\<inode\_number\> \[\<file\_set\>\]*

   displays root of the non-directory btree located at *\<inode\_number\>* and enters a subcommand mode to navigate the btree

  *\<inode\_number\>* is the directory's inode - given in decimal

  *\<file\_set\>* currently must be zero

  **SUBCOMMANDS**\
    l =\> visit left sibling\
    m =\> modify current node\
    p =\> visit parent node (not parent directory)\
    r =\> visit right sibling\
    \[0-9\] =\> visit the n'th child node\
    x =\> exit subcommand mode

## REPORTING BUGS

If you find a bug in **JFS** or **jfs\_debugfs**, please report it via the bug tracking system ("Report Bugs" section) of the JFS project web site:

```
http://jfs.sourceforge.net/
```

Please send as much pertinent information as possible, including the complete output of running **jfs\_fsck** with the **-v** and **-n** options on the JFS device.

## SEE ALSO

[**jfs\_fsck**(8)](/jfs_fsck/8.md), [**jfs\_mkfs**(8)](/jfs_mkfs/8.md), [**jfs\_fscklog**(8)](/jfs_fscklog/8.md), [**jfs\_logdump**(8)](/jfs_logdump/8.md), [**jfs\_tune**(8)](/jfs_tune/8.md),

## AUTHORS

```
Barry Arndt  (barndt@us.ibm.com)
William Braswell, Jr.
```

**jfs\_debugfs** is maintained by IBM.

```
See the JFS project web site for more details:
http://jfs.sourceforge.net/
```
