INJECT.F2FS(8)

NAME
inject.f2fs - inject a Linux F2FS file system

SYNOPSIS
inject.f2fs [ options ] device

DESCRIPTION
inject.f2fs is used to modify metadata or data (directory entry) of f2fs file system image offline flexibly.

OPTIONS

-d debug level [default:0]
    Specify the level of debugging options.

-V  Print the version number and exit.

--mb member name
    Specify the member name in a struct that is injected.

--val new value
    New value to set if mb is a number.

--str new string
    New string to set if mb is a string.

--idx slot index
    Specify which slot is injected if mb is an array.

--nid nid
    Specify which nid is injected.

--blk blkaddr
    Specify which blkaddr is injected.

--sb 0 or 1 or 2
    Inject super block, its argument means which sb pack is injected, where 0 choses the current valid sb automatically. The available mb of sb are:

    magic
        magic number.

    s_stop_reason
        s_stop_reason array.

    s_errors
        s_errors array.

    feature
        features.

    devs.path
        path in devs array.

--cp 0 or 1 or 2
    Inject checkpoint, its argument means which cp pack is injected, where 0 choses the current valid cp automatically. The available mb of cp are:

    checkpoint_ver
        checkpoint version.

    ckpt_flags
        checkpoint flags.

    cur_node_segno
        cur_node_segno array.

    cur_node_blkoff
        cur_node_blkoff array.

    cur_data_segno
        cur_data_segno array.

    cur_data_blkoff
        cur_data_blkoff array.

    next_blkaddr
        fsync dnodes.

    alloc_type
        alloc_type array.

    crc crc checksum.

    elapsed_time
        elapsed mount time.

--nat 0 or 1 or 2
    Inject nat entry specified by nid, its argument means which nat pack is injected, where 0 choses the current valid nat automatically. The available mb of nat are:

    version
        nat entry version.

    ino nat entry ino.

    block_addr
        nat entry block_addr.

--sit 0 or 1 or 2
    Inject sit entry specified by blk, its argument means which sit pack is injected, where 0 choses the current valid sit automatically. The available mb of sit are:

    vblocks
        sit entry vblocks.

    valid_map
        sit entry valid_map.

    mtime
        sit entry mtime.

--ssa
    Inject summary block or summary entry specified by blk. The available mb of ssa are:

    entry_type
        summary block footer entry_type.

    check_sum
        summary block footer check_sum.

    nid summary entry nid.

    version
        summary entry version.

    ofs_in_node
        summary entry ofs_in_node.

--node
    Inject node block specified by nid. The available mb of node are:

    nid node footer nid.

    ino node footer ino.

    flag
        node footer flag.

    cp_ver
        node footer cp_ver.

    next_blkaddr
        node footer next_blkaddr.

    i_mode
        inode i_mode.

    i_advise
        inode i_advise.

    i_inline
        inode i_inline.

    i_links
        inode i_links.

    i_size
        inode i_size.

    i_blocks
        inode i_blocks.

    i_xattr_nid
        inode i_xattr_nid.

    i_ext.fofs
        inode i_ext.fofs.

    i_ext.blk_addr
        inode i_ext.blk_addr.

    i_ext.len
        inode i_ext.len.

    i_extra_isize
        inode i_extra_isize.

    i_inline_xattr_size
        inode i_inline_xattr_size.

    i_inode_checksum
        inode i_inode_checksum.

    i_compr_blocks
        inode i_compr_blocks.

    i_addr
        inode i_addr array specified by idx.

    i_nid
        inode i_nid array specified by idx.

    addr
        {in}direct node nid/addr array specified by idx.

--dent
    Inject dentry block or dir entry specified by nid.

    --dots 1 or 2
        The option means the "." or ".." directory entry of nid is going to be injected.

    The available mb of dent are:

    d_bitmap
        dentry block d_bitmap.

    d_hash
        dentry hash.

    d_ino
        dentry ino.

    d_ftype
        dentry ftype.

    filename
        dentry filename, and corresponding d_hash and namelen are updated implicitly.

--dry-run
    Do not really inject.

AUTHOR
This version of inject.f2fs has been written by Sheng Yong <shengyong@oppo.com>.

AVAILABILITY
inject.f2fs is available from git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git.

SEE ALSO
mkfs.f2fs(8), fsck.f2fs(8), dump.f2fs(8), defrag.f2fs(8), resize.f2fs(8), sload.f2fs(8), defrag.f2fs(8).