crash.subsystem.filesystem.btrfs module

crash.subsystem.filesystem.btrfs.btrfs_fs_info(super_block: gdb.Value, force: bool = False) → gdb.Value[source]

Resolves a btrfs_fs_info from a VFS superblock

This method resolves a struct btrfs_fs_info from a struct super_block

Parameters:
  • super_block – The struct super_block to use to resolve a’ struct btrfs_fs_info. A pointer to a struct super_block is also acceptable.
  • force – Ignore type checking.
Returns:

gdb.Value: The resolved ``struct btrfs_fs_info`. The value will be of type struct btrfs_fs_info.

Raises:
  • InvalidArgumentError – the super_block does not belong to btrfs
  • gdb.NotAvailableError – The target value was not available.
crash.subsystem.filesystem.btrfs.btrfs_fsid(super_block: gdb.Value, force: bool = False) → uuid.UUID[source]

Returns the btrfs fsid (UUID) for the specified superblock.

Parameters:
  • super_block – The struct super_block for which to return the btrfs fsid. The value must be of type struct super_block.
  • force – Ignore type checking.
Returns:

The Python UUID Object for the btrfs fsid

Return type:

uuid.UUID

Raises:
  • InvalidArgumentError – the super_block does not belong to btrfs
  • gdb.NotAvailableError – The target value was not available.
crash.subsystem.filesystem.btrfs.btrfs_inode(vfs_inode: gdb.Value, force: bool = False) → gdb.Value[source]

Converts a VFS inode to a btrfs inode

This method converts a struct inode to a struct btrfs_inode.

Parameters:
  • vfs_inode – The struct inode to convert to a struct btrfs_inode. The value must be of type struct inode.
  • force – Ignore type checking.
Returns:

The converted struct btrfs_inode. The value will be of type struct btrfs_inode.

Return type:

gdb.Value

Raises:
  • InvalidArgumentError – the inode does not belong to btrfs
  • gdb.NotAvailableError – The target value was not available.
crash.subsystem.filesystem.btrfs.btrfs_metadata_uuid(sb: gdb.Value, force: bool = False) → uuid.UUID[source]

Returns the btrfs metadata uuid for the specified superblock.

Parameters:
  • super_block – The struct super_block for which to return the btrfs metadata uuid. The value must be of type struct super_block.
  • force – Ignore type checking.
Returns:

The Python UUID Object for the btrfs fsid

Return type:

uuid.UUID

Raises:
  • InvalidArgumentError – the super_block does not belong to btrfs
  • gdb.NotAvailableError – The target value was not available.
crash.subsystem.filesystem.btrfs.is_btrfs_inode(vfs_inode: gdb.Value) → bool[source]

Tests whether a inode belongs to btrfs.

Parameters:vfs_inode – The struct inode to test. The value must be of type struct inode.
Returns:Whether the inode belongs to btrfs
Return type:bool
Raises:gdb.NotAvailableError – The target value was not available.
crash.subsystem.filesystem.btrfs.is_btrfs_super(super_block: gdb.Value) → bool[source]

Tests whether a struct super_block belongs to btrfs.

Parameters:super_block – The struct super_block to test. The value must be of type struct super_block.
Returns:Whether the super_block belongs to btrfs
Return type:bool
Raises:gdb.NotAvailableError – The target value was not available.