def dump
      out = "\#<#{self.class}:0x#{format('%08x', object_id)}>\n"
      out << "Magic number            : #{format('%0x', @sb['magic_num'])}\n"
      out << "Block size              : #{@sb['block_size']} (#{@block_size} bytes)\n"
      out << "Number of blocks        : #{@sb['data_blocks']}\n"
      out << "Real-time blocks        : #{@sb['realtime_blocks']}\n"
      out << "Real-time extents       : #{@sb['realtime_extents']}\n"
      out << "UUID                    : #{@filesystem_id}\n"
      out << "Journal Log Start block : #{@sb['log_start']}\n"
      out << "Root Inode #            : #{@sb['root_inode_num']}\n"
      out << "RealTime Bitmap Inode#  : #{@sb['bitmap_inode_num']}\n"
      out << "RealTime Summary Inode# : #{@sb['summary_inode_num']}\n"
      out << "RT Extent Size (Blocks) : #{@sb['realtime_ext_size']}\n"
      out << "Alloc Group Size        : #{@sb['ag_blocks']}\n"
      out << "# of Alloc Groups       : #{@sb['ag_count']}\n"
      out << "# of RT Bitmap Blocks   : #{@sb['bitmap_blocks']}\n"
      out << "# of Journal Log Blocks : #{@sb['log_blocks']}\n"
      out << "Filesystem Version #    : #{sb_version_num}\n"
      out << "Disk Sector Size        : #{@sb['sector_size']} bytes\n"
      out << "Inode Size              : #{@sb['inode_size']} bytes\n"
      out << "Inodes Per Block        : #{@sb['inodes_per_blk']}\n"
      out << "Filesystem Name         : #{@sb['fs_name']}\n"
      out << "Log Base2 of Block size : #{@sb['block_size_log']}\n"
      out << "Log Base2 of Sector size : #{@sb['sector_size_log']}\n"
      out << "Log Base2 of Inode size : #{@sb['inode_size_log']}\n"
      out << "Log Base2 of Inodes/Blk : #{@sb['inodes_per_blk_log']}\n"
      out << "Log Base2 AllocGrp size : #{@sb['ag_blocks_log']}\n"
      out << "Log Base2 RT Extent sz  : #{@sb['rt_ext_size_log']}\n"
      out << "In Progress Flag        : #{@sb['in_progress']}\n"
      out << "Inode Space Max Percent : #{@sb['inode_max_pct']}\n"
      out << "Inodes Allocated on FS  : #{@sb['inode_count']}\n"
      out << "Free Inodes on FS       : #{@sb['inode_free_count']}\n"
      out << "Free Data Blocks on FS  : #{@sb['free_data_blocks']}\n"
      out << "Free RT Extents on FS   : #{@sb['free_rt_extents']}\n"
      out << "Inode # for User Quotas : #{@sb['user_quota_ino']}\n"
      out << "Inode # for Grp Quotas  : #{@sb['group_quota_ino']}\n"
      out << "Quota Flags             : #{@sb['quota_flags']}\n"
      out << "Miscellaneous Flags     : #{@sb['misc_flags']}\n"
      out << "Shared Version #        : #{@sb['shared_vers_no']}\n"
      out << "Inode Chunk Alignment   : #{@sb['inode_alignment']}\n"
      out << "Stripe or Raid Unit     : #{@sb['stripe_unit']}\n"
      out << "Stripe or Raid Width    : #{@sb['stripe_width']}\n"
      out << "Log Base2 Dir Block     : #{@sb['dir_block_log']}\n"
      out << "Log Base2 Log Sect Size : #{@sb['log_sect_size_log']}\n"
      out << "External Log Sect Size  : #{@sb['log_sector_size']}\n"
      out << "Log Device Stripe Size  : #{@sb['log_stripe_unit_sz']}\n"
      out << "Additional Version Flgs : #{@sb['features_2']}\n"
      out << "Compat Features         : #{@sb['features_compat']}\n"
      out << "R/O Compat Features     : #{@sb['features_ro_compat']}\n"
      out << "Incompat Features       : #{@sb['features_incompat']}\n"
      out << "Log Incompat Features   : #{@sb['features_log_incompat']}\n"
      out << "Superblock CRC          : #{@sb['superblock_crc']}\n"
      out << "Inode # Project Quotas  : #{@sb['proj_quota_ino']}\n"
      out << "Last Write Sequence     : #{@sb['last_write_seq']}\n"
      out
    end
def dump
      out = "\#<#{self.class}:0x#{format('%08x', object_id)}>\n"
      out << "Magic number            : #{format('%0x', @sb['magic_num'])}\n"
      out << "Block size              : #{@sb['block_size']} (#{@block_size} bytes)\n"
      out << "Number of blocks        : #{@sb['data_blocks']}\n"
      out << "Real-time blocks        : #{@sb['realtime_blocks']}\n"
      out << "Real-time extents       : #{@sb['realtime_extents']}\n"
      out << "UUID                    : #{@filesystem_id}\n"
      out << "Journal Log Start block : #{@sb['log_start']}\n"
      out << "Root Inode #            : #{@sb['root_inode_num']}\n"
      out << "RealTime Bitmap Inode#  : #{@sb['bitmap_inode_num']}\n"
      out << "RealTime Summary Inode# : #{@sb['summary_inode_num']}\n"
      out << "RT Extent Size (Blocks) : #{@sb['realtime_ext_size']}\n"
      out << "Alloc Group Size        : #{@sb['ag_blocks']}\n"
      out << "# of Alloc Groups       : #{@sb['ag_count']}\n"
      out << "# of RT Bitmap Blocks   : #{@sb['bitmap_blocks']}\n"
      out << "# of Journal Log Blocks : #{@sb['log_blocks']}\n"
      out << "Filesystem Version #    : #{sb_version_num}\n"
      out << "Disk Sector Size        : #{@sb['sector_size']} bytes\n"
      out << "Inode Size              : #{@sb['inode_size']} bytes\n"
      out << "Inodes Per Block        : #{@sb['inodes_per_blk']}\n"
      out << "Filesystem Name         : #{@sb['fs_name']}\n"
      out << "Log Base2 of Block size : #{@sb['block_size_log']}\n"
      out << "Log Base2 of Sector size : #{@sb['sector_size_log']}\n"
      out << "Log Base2 of Inode size : #{@sb['inode_size_log']}\n"
      out << "Log Base2 of Inodes/Blk : #{@sb['inodes_per_blk_log']}\n"
      out << "Log Base2 AllocGrp size : #{@sb['ag_blocks_log']}\n"
      out << "Log Base2 RT Extent sz  : #{@sb['rt_ext_size_log']}\n"
      out << "In Progress Flag        : #{@sb['in_progress']}\n"
      out << "Inode Space Max Percent : #{@sb['inode_max_pct']}\n"
      out << "Inodes Allocated on FS  : #{@sb['inode_count']}\n"
      out << "Free Inodes on FS       : #{@sb['inode_free_count']}\n"
      out << "Free Data Blocks on FS  : #{@sb['free_data_blocks']}\n"
      out << "Free RT Extents on FS   : #{@sb['free_rt_extents']}\n"
      out << "Inode # for User Quotas : #{@sb['user_quota_ino']}\n"
      out << "Inode # for Grp Quotas  : #{@sb['group_quota_ino']}\n"
      out << "Quota Flags             : #{@sb['quota_flags']}\n"
      out << "Miscellaneous Flags     : #{@sb['misc_flags']}\n"
      out << "Shared Version #        : #{@sb['shared_vers_no']}\n"
      out << "Inode Chunk Alignment   : #{@sb['inode_alignment']}\n"
      out << "Stripe or Raid Unit     : #{@sb['stripe_unit']}\n"
      out << "Stripe or Raid Width    : #{@sb['stripe_width']}\n"
      out << "Log Base2 Dir Block     : #{@sb['dir_block_log']}\n"
      out << "Log Base2 Log Sect Size : #{@sb['log_sect_size_log']}\n"
      out << "External Log Sect Size  : #{@sb['log_sector_size']}\n"
      out << "Log Device Stripe Size  : #{@sb['log_stripe_unit_sz']}\n"
      out << "Additional Version Flgs : #{@sb['features_2']}\n"
      out << "Compat Features         : #{@sb['features_compat']}\n"
      out << "R/O Compat Features     : #{@sb['features_ro_compat']}\n"
      out << "Incompat Features       : #{@sb['features_incompat']}\n"
      out << "Log Incompat Features   : #{@sb['features_log_incompat']}\n"
      out << "Superblock CRC          : #{@sb['superblock_crc']}\n"
      out << "Inode # Project Quotas  : #{@sb['proj_quota_ino']}\n"
      out << "Last Write Sequence     : #{@sb['last_write_seq']}\n"
      out
    end
Dump object.