Examining SNFS inodes and Directories |
Examining SNFS inodes and Directories
Note that there were changes in the inode structures in SNFS 5.0 and later releases so examples for both are shown below. Note that the commands to get some information also changed and some new abilities within cvfsdb introduced. Use “help” in cvfsdb for the complete list of options available.
SNFS 4.x
Inodes
The first inode of a file contains the 1st 10 extents of the file, 0-9, "extent" 10 is actually a pointer to an extender inode. The number of extents a file has depends on how the file was written and the blocks of contiguous space it occupies on a stripe.
To look at an inode use "ls -li" to get it's inode then use cvfsdb to look into the metadata (and data) :
# pwd
/stornext/unmanaged/DIR1
# touch pcg_0000
# touch pcg_0002
# touch pcg_0003
# echo "This is the contents of my file" > myfile.pcg
# touch pcg_0004
# touch pcg_0005
# ls -lia
total 32896
9 drwxrwxr-x 2 root root 2054 Jan 30 11:22 .
2 drwxrwxrwx 6 root root 2060 Jan 30 11:18 ..
129 -rw-rw-r-- 1 root root 32 Jan 30 11:22 myfile.pcg
115 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0000
127 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0002
128 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0003
130 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0004
131 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0005
# cvfsdb unmanaged
##### ## ## ####### ##### ###### ######
## # ## ## ## ## # ## # ## #
## ## ## ## ## ## # ## #
## ## ## ##### ##### ## # ######
## # # ## ## ## # ## #
## # # # ## # ## ## # ## #
##### # # ##### ###### ######
Filesystem unmanaged
Enter Command(s)
cvfsdb> show inode 129
ShowInode 0x81 (IelKey: 0x0, Sg: 0, Block: 0x2, ByteOffset: 1024) <metadata is at sg 0, block 2, byte 1024>
idi_marker_st = 0x4e6f [No]
idi_attr_flags = 0x10
idi_user_flags = 0x0
idi_expandsize = 0x0
idi_flags = 0x800
idi_mode = 0100664
idi_nchildren = 0x1
idi_nsubdirs = 0x0
idi_uid = 0x0
idi_gid = 0x0
idi_gen = 0x0
idi_dm_events = 0x0
idi_atime.tv_sec = 0x52ea35fb (Thu Jan 30 11:22:35 2014)
idi_atime.tv_nsec = 0x10ab9efc
idi_mtime.tv_sec = 0x52ea35fb (Thu Jan 30 11:22:35 2014)
idi_mtime.tv_nsec = 0x119f5904
idi_ctime.tv_sec = 0x52ea35fb (Thu Jan 30 11:22:35 2014)
idi_ctime.tv_nsec = 0x119f5904
idi_crttime = 0x52ea35fb (Thu Jan 30 11:22:35 2014)
idi_affinity = 0x0
idi_size = 0x20
idi_blocks = 0x1
idi_nextiel = 0x218 (0x86000 / 548864)
idi_seqno = 0x3
idi_xattr_blk = 0x0
idi_ntsec_key = 0x0
Extended attribute area =
000: 0101 6001 4304 0312 5250 4c00 0000 0000 |..`.C...RPL.....
010: 0000 096d 7966 696c 652e 7063 6700 0000 |...myfile.pcg...
020: 0000 0000 0000 0000 0000 0000 0000 0000 |................
...
140: 0000 0000 0000 0000 0000 0000 0000 0000 |................
150: 0000 0000 0000 0000 0000 0000 0000 0000 |................
Extents =
[ 0 ] flags = 0x1 <first (and only) extent>
[ 0 ] sg = 0x2
[ 0 ] depth = 0x0
[ 0 ] frblock = 0x0 ( 0 - 0 = 1 )
[ 0 ] base *= 0x14a9f
[ 0 ] end *= 0x14a9f
idi_marker_en = 0x4465 [De]
Now we know where the file is stored we can look at the raw data at that sg and block :
cvfsdb> raw s 2 block 0x14a9f
RAW:s[2]blk[84639]> show | head -5
StripeGroup 2 Disk Block 84639:
000000014a9f0000: 5468 6973 2069 7320 7468 6520 636f 6e74 |This is the cont
000000014a9f0010: 656e 7473 206f 6620 6d79 2066 696c 650a |ents of my file.
000000014a9f0020: 0000 0000 0000 0000 0000 0000 0000 0000 |................
Directories
Now let's look at the directory structure. "DIR1" is inode "9" which is also noted in the “Extended attribute area” of the inodes it contains (see previous inode output) :
# ls -lia
total 32896
9 drwxrwxr-x 2 root root 2054 Jan 30 11:22 .
2 drwxrwxrwx 6 root root 2060 Jan 30 11:18 ..
129 -rw-rw-r-- 1 root root 32 Jan 30 11:22 myfile.pcg
115 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0000
127 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0002
128 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0003
130 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0004
131 -rw-rw-r-- 1 root root 0 Jan 30 11:22 pcg_0005
cvfsdb> show inode 9
ShowInode 0x9 (IelKey: 0x0, Sg: 0, Block: 0x0, ByteOffset: 9216)
idi_marker_st = 0x4e6f [No]
idi_attr_flags = 0x0
idi_user_flags = 0x0
idi_expandsize = 0x0
idi_flags = 0x888
idi_mode = 040775
idi_nchildren = 0x8
idi_nsubdirs = 0x2
idi_uid = 0x0
idi_gid = 0x0
idi_gen = 0x0
idi_dm_events = 0x0
idi_atime.tv_sec = 0x52ea3660 (Thu Jan 30 11:24:16 2014)
idi_atime.tv_nsec = 0x34aba39e
idi_mtime.tv_sec = 0x52ea3607 (Thu Jan 30 11:22:47 2014)
idi_mtime.tv_nsec = 0x1b5714f5
idi_ctime.tv_sec = 0x52ea3607 (Thu Jan 30 11:22:47 2014)
idi_ctime.tv_nsec = 0x1b5714f5
idi_crttime = 0x52ea2e7d (Thu Jan 30 10:50:37 2014)
idi_affinity = 0x0
idi_size = 0x800
idi_blocks = 0x1
idi_nextiel = 0x218 (0x86000 / 548864)
idi_seqno = 0x12
idi_xattr_blk = 0x0
idi_ntsec_key = 0x0
Extended attribute area =
000: 0101 6001 4904 030c 5250 4c00 0000 0000 |..`.I...RPL.....
010: 0000 0244 4952 3100 0000 0000 0000 0000 |...DIR1.........
020: 0000 0000 0000 0000 0000 0000 0000 0000 |................
...
Extents =
[ 0 ] flags = 0x1
[ 0 ] sg = 0x0
[ 0 ] depth = 0x0
[ 0 ] frblock = 0x0 ( 0 - 0 = 1 )
[ 0 ] base = 0x22c
[ 0 ] end *= 0x22c
idi_marker_en = 0x4465 [De]
Look at the raw metadata :
cvfsdb> raw s 0 block 0x22c
RAW:s[0]blk[556]> show | less
StripeGroup 0 Disk Block 556:
00000000022c0000: 4376 4431 0007 0000 0000 0000 0000 0000 |CvD1............
00000000022c0010: 0000 0000 0000 0000 0058 0723 07d7 0735 |.........X.#...5
00000000022c0020: 0100 0000 07f5 000b 0100 0001 07e9 000c |................
00000000022c0030: 012b 9098 077b 0012 1f4f 053b 07c5 0012 |.+...{...O.;....
00000000022c0040: 34c7 79ec 079f 0014 6848 35ad 07b3 0012 |4.y.....hH5.....
00000000022c0050: 762c a00e 078d 0012 0000 0000 0000 0000 |v,..............
00000000022c0060: 0000 0000 0000 0000 0000 0000 0000 0000 |................
...
00000000022c0770: 0000 0000 0000 0000 0000 0000 0000 0000 |................
00000000022c0780: 0000 8370 6367 5f30 3030 3500 0200 0000 |...pcg_0005.....
00000000022c0790: 0000 0000 8270 6367 5f30 3030 3400 0200 |.....pcg_0004...
00000000022c07a0: 0000 0000 0000 816d 7966 696c 652e 7063 |.......myfile.pc
00000000022c07b0: 6700 0200 0000 0000 0000 8070 6367 5f30 |g..........pcg_0
00000000022c07c0: 3030 3300 0200 0000 0000 0000 7f70 6367 |003..........pcg
00000000022c07d0: 5f30 3030 3200 0200 0000 1200 0000 0000 |_0002...........
00000000022c07e0: 0000 0000 0000 0000 0000 0000 0000 0000 |................
Now use "dc" to interpret the structure for easier reading :
cvfsdb> dc 9
Dumping cookie 0x9
Block 0x0: (DATA DIR - ROOT)
cvbtdd_sig = 0x4376 'Cv'
cvbtdd_type = 0x4431 'D1'
cvbtdd_ents = 8
cvbtdd_flags = 0x0
cvbtdd_next = 0x0
cvbtdd_data_prev = 0x0
cvbtdd_data_next = 0x0
cvbtdd_brkbase = 96
cvbtdd_brksize = 1819
cvbtdd_firsthole = 0
cvbtdd_freebytes = 1819
keys[0-7] = [hash, base, len]
0:[0x01000000,2037,11] <"." and ".." are always these>
1:[0x01000001,2025,12]
2:[0x012b9098,1915,18] <These lines are the filename hashed followed>
3:[0x1f4f053b,1989,18] <by where the name starts in the directory >
4:[0x34c779ec,1951,20] <structure and the number of chars in the name>
5:[0x684835ad,1971,18]
6:[0x71416417,2007,18]
7:[0x762ca00e,1933,18]
entry[ 0] hash-0x01000000 data-[0x9] string-[.] type-[1]
entry[ 1] hash-0x01000001 data-[0x2] string-[..] type-[1]
entry[ 2] hash-0x012b9098 data-[0x83] string-[pcg_0005] type-[2]
entry[ 3] hash-0x1f4f053b data-[0x7f] string-[pcg_0002] type-[2]
entry[ 4] hash-0x34c779ec data-[0x81] string-[myfile.pcg] type-[2] <0x81 -> 129, the inode number>
entry[ 5] hash-0x684835ad data-[0x80] string-[pcg_0003] type-[2]
entry[ 6] hash-0x71416417 data-[0x73] string-[pcg_0000] type-[2]
entry[ 7] hash-0x762ca00e data-[0x82] string-[pcg_0004] type-[2]
1 B-Tree block displayed
As files are deleted they are added to a directory list of free space in the 2Kb structure which is then used on a best-fit basis as new files are added. If we delete pcg_000 :
hole = [offset, len] 0:[0,18] <New space available in middle of directory tree>
keys[0-6] = [hash, base, len]
0:[0x01000000,2037,11]
1:[0x01000001,2025,12]
2:[0x012b9098,1915,18]
3:[0x1f4f053b,1989,18]
4:[0x34c779ec,1951,20]
5:[0x684835ad,1971,18]
<original "6" now gone>
6:[0x762ca00e,1933,18]
entry[ 0] hash-0x01000000 data-[0x9] string-[.] type-[1]
entry[ 1] hash-0x01000001 data-[0x2] string-[..] type-[1]
entry[ 2] hash-0x012b9098 data-[0x83] string-[pcg_0005] type-[2]
entry[ 3] hash-0x1f4f053b data-[0x7f] string-[pcg_0002] type-[2]
entry[ 4] hash-0x34c779ec data-[0x81] string-[myfile.pcg] type-[2]
entry[ 5] hash-0x684835ad data-[0x80] string-[pcg_0003] type-[2]
<original "6 now gone>
entry[ 6] hash-0x762ca00e data-[0x82] string-[pcg_0004] type-[2]
1 B-Tree block displayed
As directories contain more files or files with longer names and exceed the 2KB limit the block of data will be split into 2 new blocks containing the filenames and the hash range will determine which block they will be added to. The first block will actually be replaced by an index block referencing the data blocks.
SNFS 5.x (aka “Parker”)
Inodes
Create a test directory and some files and list their inodes for the example :
# mkdir /stornext/PCG_unmanaged/mydir
# touch /stornext/PCG_unmanaged/mydir/myfile_empty.dat0
# touch /stornext/PCG_unmanaged/mydir/myfile_empty.dat1
# echo "This is the contents of my file !" > /stornext/PCG_unmanaged/mydir/myfile_contents.dat2
# touch /stornext/PCG_unmanaged/mydir/myfile_empty.dat3
# ls -iltr /stornext/PCG_unmanaged/mydir
total 128
812416 -rw-rw-r-- 1 root root 0 Apr 16 11:08 myfile_empty.dat0
812417 -rw-rw-r-- 1 root root 0 Apr 16 11:08 myfile_empty.dat1
812418 -rw-rw-r-- 1 root root 34 Apr 16 11:09 myfile_contents.dat2
812419 -rw-rw-r-- 1 root root 0 Apr 16 11:09 myfile_empty.dat3
Use cvfscb to show the inode structure and get its contents directly from the stripegroup (sg) and block :
# cvfsdb PCG_unmanaged
##### ## ## ####### ##### ###### ######
## # ## ## ## ## # ## # ## #
## ## ## ## ## ## # ## #
## ## ## ##### ##### ## # ######
## # # ## ## ## # ## #
## # # # ## # ## ## # ## #
##### # # ##### ###### ######
Filesystem PCG_unmanaged
Enter Command(s)
cvfsdb> show inode 812418
ShowInode 0xc6582 (IelKey: 0x6320, Sg: 0, Block: 0x6380, ByteOffset: 2048)
idi_inode_number = 0xc6582
idi_attr_flags = 0x10
idi_user_flags = 0x0
idi_expandsize = 0x0
idi_flags = 0x4820
idi_mode = 0100664
idi_nchildren = 0x1
idi_nsubdirs = 0x0
idi_stream_cnt = 0x0
idi_uid = 0x0
idi_gid = 0x0
idi_gen = 0x22
idi_dm_events = 0x0
idi_atime.tv_sec = 0x534e56d5 (Wed Apr 16 11:09:25 2014)
idi_atime.tv_nsec = 657168107
idi_mtime.tv_sec = 0x534e56d5 (Wed Apr 16 11:09:25 2014)
idi_mtime.tv_nsec = 658168133
idi_ctime.tv_sec = 0x534e56d5 (Wed Apr 16 11:09:25 2014)
idi_ctime.tv_nsec = 658168133
idi_crttime.tv_sec= 0x534e56d5 (Wed Apr 16 11:09:25 2014)
idi_crttime.tv_nsec = 657168107
idi_affinity = 0x0
idi_size = 0x22
idi_blocks = 0x20
idi_nextiel = 0x63b (0x18ec00 / 1633280)
idi_seqno = 0x3
idi_xattr_blk = 0x0
idi_ntsec_key = 0x0
Btree base =
sl_type = 'L'
sl_rsvd0 = 0x0
sl_ents = 2
sl_brkbase = 56
sl_brksize = 700
sl_firsthole = 0
sl_freebytes = 700
sl_rsvd1 = 0x0
sl_rsvd2 = 0x0
sl_rsvd3 = 0x0
keys[0-1] = [key, type, rsvd1, alloced, offs, len]
0:[0x0000000000000000, 2, 0, 16, 756, 16]
1:[0x000f8000000c6540, 14, 0, 20, 772, 20]
payloads[0-1]
0:extent: flags-[0x1] sg-[0x1] frblock-[0x0] base-[0xd48600] len-[0x20]
1:RPL: parent inode-[0x000f8000000c6540] name-[myfile_contents.dat2]
cvfsdb> show raw 0xd48600 0x1 | head -5 <note command syntax change from 4.x>
StripeGroup 1 Disk Block 13927936:
0000000d48600000: 5468 6973 2069 7320 7468 6520 636f 6e74 |This is the cont
0000000d48600010: 656e 7473 206f 6620 6d79 2066 696c 6520 |ents of my file
0000000d48600020: 210a 0000 0000 0000 0000 0000 0000 0000 |!...............
0000000d48600030: 0000 0000 0000 0000 0000 0000 0000 0000 |................
Navigating Directories and Files
Note that under 5.x you can also navigate the filesystem within cvfsdb and use filenames rather than inodes :
cvfsdb> pwd
cwd: /
cvfsdb> dir
-d- [0x0000000000000002] .
-d- [0x0000000000000002] ..
-d- [0x00078000000c4c43] file2
-d- [0x0000000000000008] hatest
-d- [0x00008000000c4d00] perfectFit
-d- [0x00018000000c4c42] file1
-l- [0x00008000000c3dfb] carlo_link
-d- [0x000f8000000c6540] mydir
cvfsdb> cd mydir
cwd: /mydir
cvfsdb> dir
-d- [0x000f8000000c6540] .
-d- [0x0000000000000002] ..
-f- [0x00110000000c6582] myfile_contents.dat2
-f- [0x00100000000c6580] myfile_empty.dat0
-f- [0x00118000000c6583] myfile_empty.dat3
-f- [0x00108000000c6581] myfile_empty.dat1
cvfsdb> show inode myfile_contents.dat2
ShowInode 0x110000000c6582 (IelKey: 0x6320, Sg: 0, Block: 0x6380, ByteOffset: 2048)
idi_inode_number = 0xc6582
idi_attr_flags = 0x10
…
Altering Files
The new cvfsdb also allows us to examine and change the contents of the disk blocks using “peek” and “poke”. (Actually previously undocumented). Adding the offset to the sg and block we can read the file we created (I’ve added a translation of the ascii to the line) :
cvfsdb]> peek 0x1 0xd48600 0
sg/1 block/0xd48600 offs/0: 0x5468697320697320 <”This is “>
cvfsdb > peek 0x1 0xd48600 8
sg/1 block/0xd48600 offs/8: 0x74686520636f6e74 <”the cont”>
cvfsdb]> peek 0x1 0xd48600 16
sg/1 block/0xd48600 offs/16: 0x656e7473206f6620 <”ents of “>
cvfsdb]> peek 0x1 0xd48600 24
sg/1 block/0xd48600 offs/24: 0x6d792066696c6520 <”my file “>
cvfsdb > peek 0x1 0xd48600 32
sg/1 block/0xd48600 offs/32: 0x210a000000000000 <”!”>
Let’s transpose a couple of the characters in the 4th 64bit word and write it to the disk. Note however that the filesystem has to be inactive to do this :
cvfsdb> poke 0x1 0xd48600 24 0x6d79206c69666520
sg/1 block/0xd48600 offs/24: 0x6d792066696c6520 => 0x6d79206c69666520
On starting the filesystem back up we see :
# cat /stornext/PCG_unmanaged/mydir/myfile_contents.dat2
This is the contents of my life !
USE WITH CAUTION ! This alters the data on the data stripes (Customer data) and the metadata on metadata stripes that could result in data loss or corruption.
Info Control Block the Super Block and Stripe Groups
Cvfsdb is also used to examine the Info Control Block (ICB), Super Block (SB) and Stripe Group information. These are typically used as a starting point for more advanced debugging but can also show interesting general information about the filesystem and the inodes. Below the relation between the inodes shown in “df” is made in the SB :
(Note that in the following the mount point is the same as the filesystem name, this may not always be true)
# df -i /stornext/unmanaged
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/cvfsctl1_unmanaged
190976 46 190930 1% /stornext/unmanaged
cvfsdb> show sb
Super Block
sb_marker = 0x5375506552243230 [SuPeR$20]
sb_Epoch = 0x4f61236879dec (Wed Apr 2 17:59:51 2014)
sb_FsStatus = 0x14f04
sb_NumDinodes = 0x2ea00
sb_FreeDinodes = 0x2e9d2
sb_InodeVersion = 0x206 - 4.0 inode version with big inodes (0x206)
sb_FreeListBlocks = 0x1d
sb_NextInodeChunk = 0x7f1e
sb_FreeDinodeRotor = 0xec2784
sb_NTSecurityIdxInode = 0x6
sb_NTSecurityDatInode = 0x7
sb_QuotaInode = 0x0
sb_IDDBInode = 0x0
sb_ClientWOpens = 0x8
sb_DumpSeqno = 0
sb_RJseq = 0
sb_binodeblksize = 1024
sb_csid = 0
sb_snapnodehead = 0x0
sb_ModMetaEpoch = 0x4f61236879dec (Wed Apr 2 17:59:51 2014)
sb_sum = 0x3965289919
(okay)
cvfsdb> show icb
The ICB shows the name of the filesystem and the filesystem block size (fsBlockSize) as well as the number of stripe groups and where the metadata and journal are :
Info Control Block
icb_fs_marker = 0x4376467324243434 [CvFs$$44]
icb_fsname = unmanaged
icb_fsbsize = 0x1000 <4K block size>
icb_numparts = 0x3 <number of stripe groups>
icb_meta_root = 0x0 <metadata stripe group>
icb_journal_root = 0x1 <journal stripe group>
icb_inode_offs = 0x0
icb_sb_offs = 0x20
icb_arb_offs = 0x21
icb_cfgi_offs = 0x22
icb_diski_offs = 0x26
icb_parti_offs = 0x36
icb_fl_offs = 0x46
icb_journal_offs = 0x47
icb_data_offs = 0x48
icb_sum = 0x50956efb (okay)
And now we can examine the SG information :
cvfsdb> show stripegroup 2
Parti Block for StripeGroup 2
parti_marker = 0x5061527449243230 [PaRtI$20]
parti_off = 0x2128000
parti_size = 0x31fb6
parti_inode = 0x5
parti_base = 0x84a
parti_end = 0x856
parti_depth = 0x1
parti_breadth = 0x10
parti_sum = 0xeffd98f0
parti_sg = 0x0
parti_rsvd1 = 0x0
parti_name = sg2
StorNext 5.x is a little different (example from a different filesystem) :
cvfsdb> show sb
Super Block
sb_marker = 0x5375506552243530 [SuPeR$50]
sb_Epoch = 0x4ecdb6cbc54db (Fri Dec 6 10:51:13 2013)
sb_FsStatus = 0x14f14
31BITDIRHASH
METADUMP_NEEDED
BIGEND_QUOTAS
EMBEDDED_CONFIG
UTF8C
RPL_ENABLED
RPL_CONFIGURED
PA35_SAFE
sb_FsTmpStatus = 0x0
sb_InodeVersion = 0x20b - 5.0 big inode (0x20b)
sb_binodeblksize = 1024
sb_NTSecurityIdxInode = 0x0000000000000005
sb_NTSecurityDatInode = 0x0000000000000006
sb_QuotaInode = 0x0000000000000000
sb_ClientWOpens = 0x0000000000000007
sb_freei = 0x000b0000000c3de8
sb_pendi = 0x00098000000c3de5
sb_asri = 0x000a0000000c3de6
sb_helpi = 0x000a8000000c3de7
sb_iel_inode = 0x000b8000000c3de9
sb_OLD_binodeblksize = 0xdeadbeef
sb_OLD_csid = 0
sb_rpl_inode = 0x0000000000000000
sb_ModMetaEpoch = 0x4ecdb6cbc54db (Fri Dec 6 10:51:13 2013)
sb_sum = 0xa1c32d5c
(okay)
Note that the sb no longer shows the total and free inodes, this is now displayed using “show freei” which gives you even more information than in 4.x :
cvfsdb> show freei
Free Inode Tree Inode
idi_flbt_total = 190976 <inodes totals now shown in base 10>
idi_flbt_free = 190930
idi_flbt_rotor = 0xc7640
idi_flbt_nextchunk = 0x32
idi_flbt_files = 969 <Number of files in filesystem>
idi_flbt_directories = 9 <Number of directories in filesystem>
idi_flbt_symlinks = 1 <Number of links in filesystem>
idi_flbt_other = 0
idi_blocks = 1
idi_seqno = 0xa8
The 5.x “show icb” simply has one additional line :
icb_btree_bsize = 0x1000
But the stripegroup information is expanded :
cvfsdb> show stripegroup 1
Partition Block for StripeGroup 1
partb_marker = 0x5061527442243530 [PaRtB$50]
partb_name = sg1
partb_nextstart = 0
partb_biti = 0
partb_slice_sz = 0x63fe00
partb_depth = 0x1
partb_breadth = 0x100
partb_sg = 0x0
partb_vers = 0x1
partb_rsvd0 = 0x0
partb_sum = 0xf67e147e
partb_slicei = 0x50000000c3ddc
Slice Inode Free Blks Used Blks Fragments
0 0x00058000000c3ddd 65536 6487552 1
1 0x00060000000c3dde 16080 6537008 5
2 0x00068000000c3ddf 16352 6536736 1
3 0x00070000000c3de0 3665632 2887456 1
4 0x00078000000c3de1 0 6553088 0
5 0x00080000000c3de2 112 6552976 1
6 0x00088000000c3de3 3321312 3231776 1
7 0x00090000000c3de4 1934848 4619776 1
Totals 9019872 43406368 11
Size 52426240
Notes |
This page was generated by the BrainKeeper Enterprise Wiki, © 2018 |