[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Kernel Extensions and Device Support Programming Concepts

File System Subcommands for the KDB Kernel Debugger and kdb Command


buffer Subcommand

The buf subcommand prints buffer cache headers.

Example

   KDB(0)> buf print buffer pool
     1 057E4000 nodevice 00000000 00000000
     2 057E4058 nodevice 00000000 00000000
     3 057E40B0 nodevice 00000000 00000000
     4 057E4108 nodevice 00000000 00000000
     5 057E4160 nodevice 00000000 00000000
   ...
    18 057E45D8 nodevice 00000000 00000000
    19 057E4630 000A0011 00000000 00000100 READ DONE STALE MPSAFE MPSAFE_INITIAL
    20 057E4688 000A0011 00000000 00000008 READ DONE STALE MPSAFE MPSAFE_INITIAL
   KDB(0) buf 19 print buffer slot 19
                     DEV    VNODE    BLKNO FLAGS
   
    19 057E4630 000A0011 00000000 00000100 READ DONE STALE MPSAFE MPSAFE_INITIAL
   
   forw     0562F0CC back     0562F0CC av_forw  057E45D8 av_back  057E4688
   blkno    00000100 addr     0580C000 bcount   00001000 resid    00000000
   error    00000000 work     80000000 options  00000000 event    FFFFFFFF
   iodone:  biodone+000000
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  00000000 xmemd.subspace_id2 00000000 xmemd.uaddr        00000000
   KDB(0)> pdt 17 print paging device slot 17 (the 1st FS)
   
   PDT address B69C0440 entry 17 of 511, type: FILESYSTEM
   next pdt on i/o list  (nextio)  : FFFFFFFF
   dev_t or strategy ptr (device)  : 000A0007
   last frame w/pend I/O (iotail)  : FFFFFFFF
   free buf_struct list  (bufstr)  : 056B2108
   total buf structs     (nbufs)   : 005D
   available (PAGING)    (avail)   : 0000
   JFS  disk agsize      (agsize)  : 0800
   JFS inode agsize      (iagsize) : 0800
   JFS log SCB index     (logsidx) : 00035
   JFS fragments per page(fperpage): 1
   JFS compression type  (comptype): 0
   JFS log2 bigalloc mult(bigexp)  : 0
   disk map srval        (dmsrval) : 00002021
   i/o's not finished    (iocnt)   : 00000000
   lock                  (lock)    : E8003200
   KDB(0)> buf 056B2108 print paging device first free buffer
                     DEV    VNODE    BLKNO FLAGS
   
     0 056B2108 000A0007 00000000 00000048 DONE SPLIT MPSAFE MPSAFE_INITIAL
   
   forw     0007DAB3 back     00000000 av_forw  056B20B0 av_back  00000000
   blkno    00000048 addr     00000000 bcount   00001000 resid    00000000
   error    00000000 work     00400000 options  00000000 event    00000000
   iodone:  v_pfend+000000
   start.tv_sec       00000000 start.tv_nsec      00000000
   xmemd.aspace_id    00000000 xmemd.xm_flag      00000000 xmemd.xm_version   00000000
   xmemd.subspace_id  0083E01F xmemd.subspace_id2 00000000 xmemd.uaddr        00000000

hbuffer Subcommand

The hb subcommand prints buffer cache hash list of headers.

Example

   KDB(0)> hb print buffer cache hash lists
            BUCKET HEAD     COUNT
   
   0562F0CC   18   057E4630      1
   0562F12C   26   057E4688      1
   KDB(0)> hb 26 print buffer cache hash list bucket 26
                     DEV    VNODE    BLKNO FLAGS
   
    20 057E4688 000A0011 00000000 00000008 READ DONE STALE MPSAFE MPSAFE_INITIAL

fbuffer Subcommand

The fb subcommand prints buffer cache freelist of headers.

Example

   KDB(0)> fb print free list buffer buckets
                  BUCKET       HEAD  COUNT
   
   bfreelist+000000 0001   057E4688     20
   KDB(0)> fb 1 print free list buffer bucket 1
                     DEV    VNODE    BLKNO FLAGS
   
    20 057E4688 000A0011 00000000 00000008 READ DONE STALE MPSAFE MPSAFE_INITIAL
    19 057E4630 000A0011 00000000 00000100 READ DONE STALE MPSAFE MPSAFE_INITIAL
    18 057E45D8 nodevice 00000000 00000000
    17 057E4580 nodevice 00000000 00000000
   ...
     2 057E4058 nodevice 00000000 00000000
     1 057E4000 nodevice 00000000 00000000

gnode Subcommand

The gno subcommand prints the generic node structure.

Example

(0)> gno 09D0FD68 print gnode
GNODE............ 09D0FD68
gn_type....... 00000002 gn_flags...... 00000000 gn_seg........ 0001A3FA
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 09D0FD28 gn_rdev....... 000A0010 gn_ops........ jfs_vops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 09D0FD9C
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 09D0FD58
gn_type....... DIR

gfs Subcommand

The gfs subcommand prints the generic file system structure.

Example

(0)> gfs gfs print gfs slot 1
gfs_data. 00000000 gfs_flag. INIT VERSION4 VERSION42 VERSION421
gfs_ops.. jfs_vfsops     gn_ops... jfs_vops       gfs_name. jfs
gfs_init. jfs_init       gfs_rinit jfs_rootinit   gfs_type. JFS
gfs_hold. 00000012
(0)> gfs gfs+30 print gfs slot 2
gfs_data. 00000000 gfs_flag. INIT VERSION4 VERSION42 VERSION421
gfs_ops.. spec_vfsops    gn_ops... spec_vnops     gfs_name. sfs
gfs_init. spec_init      gfs_rinit nodev          gfs_type. SFS
gfs_hold. 00000000
(0)> gfs gfs+60 print gfs slot 3
gfs_data. 00000000 gfs_flag. REMOTE VERSION4
gfs_ops.. 01D2ABF8       gn_ops... 01D2A328       gfs_name. nfs
gfs_init. 01D2B5F0       gfs_rinit 00000000       gfs_type. NFS
gfs_hold. 0000000E

file Subcommand

The file subcommand prints the file table.First, used files are printed (count > 0), then others.

Example

(0)> file print file table
                 COUNT           OFFSET     DATA TYPE   FLAGS

   1 file+000000     1 0000000000000100 09CD90C8 VNODE  EXEC
   2 file+000030     1 0000000000000100 09CC4DE8 VNODE  EXEC
   3 file+000060  1452 000000000019B084 09CC2B50 VNODE  READ RSHARE
   4 file+000090     2 0000000000000100 09CFCD80 VNODE  EXEC
   5 file+0000C0     2 0000000000000000 056CE008 VNODE  READ WRITE
   6 file+0000F0     1 0000000000000000 056CE008 VNODE  READ WRITE
   7 file+000120     1 0000000000000680 09CFF680 VNODE  READ WRITE
   8 file+000150     1 0000000000000100 0B97BE0C VNODE  EXEC
   9 file+000180     2 0000000000000000 056CE070 VNODE  READ NONBLOCK
  10 file+0001B0   323 000000000000061C 09CC4F30 VNODE  READ RSHARE
  11 file+0001E0     1 0000000000000000 0B7E8700 READ WRITE
  12 file+000210    16 000000000000061C 09CC5AB8 VNODE  READ RSHARE
  13 file+000240     1 0000000000000000 0B221950 GNODE  WRITE
  14 file+000270     1 0000000000000000 0B221A20 GNODE  WRITE
  15 file+0002A0     2 000000000000055C 09CFFCE8 VNODE  READ RSHARE
  16 file+0002D0     2 0000000000000000 09CFE9B0 VNODE  WRITE
  17 file+000300     1 0000000000000000 0B7E8600 READ WRITE
  18 file+000330     1 0000000000000000 056CE008 VNODE  READ
  19 file+000360     1 0000000000000000 09CFBB90 VNODE  WRITE
  20 file+000390     3 000000000000284A 0B99A60C VNODE  READ
(0)> more (^C to quit) ? Interrupted
(0)> file 3 print file slot 3
                 COUNT           OFFSET     DATA TYPE   FLAGS

   3 file+000060  1474 000000000019B084 09CC2B50 VNODE  READ RSHARE

f_flag......... 00001001 f_count........ 000005C2
f_msgcount......... 0000 f_type............. 0001
f_data......... 09CC2B50 f_offset... 000000000019B084
f_dir_off...... 00000000 f_cred......... 056D0E58
f_lock@........ 004AF098 f_lock......... 00000000
f_offset_lock@. 004AF09C f_offset_lock.. 00000000
f_vinfo........ 00000000 f_ops.......... 00250FC0 vnodefops+000000
VNODE.......... 09CC2B50
v_flag.... 00000000 v_count... 00000002 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09CC2B5C v_vfsp.... 056D18A4
v_mvfsp... 00000000 v_gnode... 09CC2B90 v_next.... 00000000
v_vfsnext. 09CC2A08 v_vfsprev. 09CC3968 v_pfsvnode 00000000
v_audit... 00000000

inode Subcommand

The ino subcommand prints the inode table. Only used (hashed) inode are printed (count > 0). Unused inodes (icache list) may be printed with the fino subcommand.

Example

(0)> ino print inode table
                   DEV     NUMBER CNT    GNODE    IPMNT TYPE FLAGS

   1 0A2A4968 00330003      10721   1 0A2A4978 09F79510 DIR
   2 0A2A9790 00330003      10730   1 0A2A97A0 09F79510 REG
   3 0A321E90 00330006       2948   1 0A321EA0 09F7A990 DIR
   4 0A32ECD8 00330006       2965   1 0A32ECE8 09F7A990 DIR
   5 0A38EBC8 00330006       3173   1 0A38EBD8 09F7A990 DIR
   6 0A3CC280 00330006       3186   1 0A3CC290 09F7A990 REG
   7 09D01570 000A0005      14417   1 09D01580 09CC1990 REG
   8 09D7CE68 000A0005      47211   1 09D7CE78 09CC1990 REG  ACC
   9 09D1A530 000A0005       6543   1 09D1A540 09CC1990 REG
  10 09D19C38 000A0005       6542   1 09D19C48 09CC1990 REG
  11 09CFFD18 000A0005      71811   1 09CFFD28 09CC1990 REG
  12 09D00238 000A0005      63718   1 09D00248 09CC1990 REG
  13 09D70918 000A0005       6746   1 09D70928 09CC1990 REG
  14 09D01800 000A0005      15184   1 09D01810 09CC1990 REG
  15 09F9B450 00330003       4098   1 09F9B460 09F79510 DIR
  16 09F996D8 00330003       4097   1 09F996E8 09F79510 DIR
  17 0A5C6548 00330006       4110   1 0A5C6558 09F7A990 DIR
  18 09FB30D8 00330005       4104   1 09FB30E8 09F79F50 DIR  CHG UPD FSYNC DIRTY
  19 09FAB868 00330003       4117   1 09FAB878 09F79510 REG
  20 0A492AB8 00330003       4123   1 0A492AC8 09F79510 REG
(0)> more (^C to quit) ? Interrupted
(0)> ino 09F79510 print mount table inode (IPMNT)
                   DEV     NUMBER CNT    GNODE    IPMNT TYPE FLAGS

     09F79510 00330003          0   1 09F79520 09F79510 NON  CMNEW


forw      09F78C18 back      09F7A5B8 next      09F79510 prev      09F79510
gnode@    09F79520 number    00000000 dev       00330003 ipmnt     09F79510
flag      00000000 locks     00000000 bigexp    00000000 compress  00000000
cflag     00000002 count     00000001 event     FFFFFFFF movedfrag 00000000
openevent FFFFFFFF id        000052AB hip       09C9C330 nodelock  00000000
nodelock@ 09F79590 dquot[USR]00000000 dquot[GRP]00000000 dinode@   09F7959C
cluster   00000000 size      0000000000000000

GNODE............ 09F79520
gn_type....... 00000000 gn_flags...... 00000000 gn_seg........ 00000000
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 09F794E0 gn_rdev....... 00000000 gn_ops........ jfs_vops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 09F79554
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 09F79510
gn_type....... NON

di_gen        32B69977 di_mode       00000000 di_nlink      00000000
di_acct       00000000 di_uid        00000000 di_gid        00000000
di_nblocks    00000000 di_acl        00000000
di_mtime      00000000 di_atime      00000000 di_ctime      00000000
di_size_hi    00000000 di_size_lo    00000000

VNODE........... 09F794E0
v_flag.... 00000000 v_count... 00000000 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09F794EC v_vfsp.... 00000000
v_mvfsp... 00000000 v_gnode... 09F79520 v_next.... 00000000
v_vfsnext. 00000000 v_vfsprev. 00000000 v_pfsvnode 00000000
v_audit... 00000000

di_iplog      09F77F48 di_ipinode    09F798E8 di_ipind      09F797A0
di_ipinomap   09F79A30 di_ipdmap     09F79B78 di_ipsuper    09F79658
di_ipinodex   09F79CC0 di_jmpmnt     0B8E0B00
di_agsize     00004000 di_iagsize    00000800 di_logsidx    00000547
di_fperpage   00000008 di_fsbigexp   00000000 di_fscompress 00000001

(0)> ino 09F77F48 print log inode (di_iplog)
                   DEV     NUMBER CNT    GNODE    IPMNT TYPE FLAGS

     09F77F48 00330001          0   5 09F77F58 09F77F48 NON  CMNEW


forw      09C9C310 back      09F785B0 next      09F77F48 prev      09F77F48
gnode@    09F77F58 number    00000000 dev       00330001 ipmnt     09F77F48
flag      00000000 locks     00000000 bigexp    00000000 compress  00000000
cflag     00000002 count     00000005 event     FFFFFFFF movedfrag 00000000
openevent FFFFFFFF id        0000529A hip       09C9C310 nodelock  00000000
nodelock@ 09F77FC8 dquot[USR]00000000 dquot[GRP]00000000 dinode@   09F77FD4
cluster   00000000 size      0000000000000000

GNODE............ 09F77F58
gn_type....... 00000000 gn_flags...... 00000000 gn_seg........ 00007547
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 09F77F18 gn_rdev....... 00000000 gn_ops........ jfs_vops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 09F77F8C
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 09F77F48
gn_type....... NON

di_gen        32B69976 di_mode       00000000 di_nlink      00000000
di_acct       00000000 di_uid        00000000 di_gid        00000000
di_nblocks    00000000 di_acl        00000000
di_mtime      00000000 di_atime      00000000 di_ctime      00000000
di_size_hi    00000000 di_size_lo    00000000

VNODE........... 09F77F18
v_flag.... 00000000 v_count... 00000000 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09F77F24 v_vfsp.... 00000000
v_mvfsp... 00000000 v_gnode... 09F77F58 v_next.... 00000000
v_vfsnext. 00000000 v_vfsprev. 00000000 v_pfsvnode 00000000
v_audit... 00000000

di_logptr    0000015A di_logsize   00000C00 di_logend    00000FF8
di_logsync   0005A994 di_nextsync  0013BBFC di_logxor    6C868513
di_llogeor   00000FE0 di_llogxor   6CE29103 di_logx      0BB13200
di_logdgp    0B7E5BC0 di_loglock   4004B9EF di_loglock@  09F7804C
logxlock     00000000 logxlock@    0BB13200 logflag      00000001
logppong     00000195 logcq.head   B69CAB7C logcq.tail   0BB13228
logcsn       00001534 logcrtc      0000000C loglcrt      B69CA97C
logeopm      00000001 logeopmc     00000002
logeopmq[0]@ 0BB13228 logeopmq[1]@ 0BB13268

hinode Subcommand

The hino subcommand prints inode hash lists.

Example

(0)> hino print hash inode buckets
         BUCKET HEAD    TIMESTAMP     LOCK COUNT

09C86000    1   0A285470 00000005 00000000     4
09C86010    2   0A284E08 00000006 00000000     3
09C86020    3   0A2843C8 00000006 00000000     3
09C86030    4   0A287EB8 00000006 00000000     3
09C86040    5   0A287330 00000005 00000000     3
09C86050    6   0A2867A8 00000006 00000000     4
09C86060    7   0A285FF8 00000007 00000000     3
09C86070    8   0A289D78 00000006 00000000     4
09C86080    9   0A289858 00000006 00000000     4
09C86090   10   0A33E2D8 00000005 00000000     4
09C860A0   11   0A33E7F8 00000005 00000000     4
09C860B0   12   0A33EE60 00000005 00000000     4
09C860C0   13   0A33F758 00000005 00000000     4
09C860D0   14   0A28AE20 00000005 00000000     3
09C860E0   15   0A28A670 00000005 00000000     3
09C860F0   16   0A33CE58 00000005 00000000     4
09C86100   17   0A33D9E0 00000006 00000000     4
09C86110   18   0A5FF6D0 00000008 00000000     4
09C86120   19   0A5FD060 00000009 00000000     4
09C86130   20   0A5FC390 00000009 00000000     4
(0)> more (^C to quit) ? Interrupted
(0)> hino 18 print hash inode bucket 18
HASH ENTRY( 18): 09C86110
                   DEV     NUMBER CNT    GNODE    IPMNT TYPE FLAGS

     0A5FF6D0 00330003       2523   0 0A5FF6E0 09F79510 REG
     0A340E68 00330004       2524   0 0A340E78 09F78090 REG
     0A28CA50 00330003      10677   0 0A28CA60 09F79510 DIR
     0A1AFCA0 00330006       2526   0 0A1AFCB0 09F7A990 REG

icache Subcommand

The fino subcommand prints all the inode cache list.

Example

(0)> fino print free inode cache
                   DEV     NUMBER CNT    GNODE    IPMNT TYPE FLAGS

   1 09CABFA0 DEADBEEF          0   0 09CABFB0 09CA7178 CHR  CMNOLINK
   2 0A8D3A70 DEADBEEF          0   0 0A8D3A80 09F7A990 REG  CMNOLINK
   3 0A8F2528 DEADBEEF          0   0 0A8F2538 09CC6528 REG  CMNOLINK
   4 0A7C66E0 DEADBEEF          0   0 0A7C66F0 09F7A990 REG  CMNOLINK
   5 0A7BA568 DEADBEEF          0   0 0A7BA578 09F79F50 REG  CMNOLINK
   6 0A78EC68 DEADBEEF          0   0 0A78EC78 09F78090 REG  CMNOLINK
   7 0A7AF9B8 DEADBEEF          0   0 0A7AF9C8 09F79F50 REG  CMNOLINK
   8 0A7B9230 DEADBEEF          0   0 0A7B9240 09F79F50 REG  CMNOLINK
   9 0A8BDCA8 DEADBEEF          0   0 0A8BDCB8 09F79F50 LNK  CMNOLINK
  10 0A8BE978 DEADBEEF          0   0 0A8BE988 09F7A990 REG  CMNOLINK
  11 0A7C58C8 DEADBEEF          0   0 0A7C58D8 09F7A990 REG  CMNOLINK
  12 0A78D6A0 DEADBEEF          0   0 0A78D6B0 09F78090 REG  CMNOLINK
  13 0A7C4BF8 DEADBEEF          0   0 0A7C4C08 09F7A990 REG  CMNOLINK
  14 0A78ADA0 DEADBEEF          0   0 0A78ADB0 09F78090 REG  CMNOLINK
  15 0A7B8A80 DEADBEEF          0   0 0A7B8A90 09F79F50 REG  CMNOLINK
  16 0A8BC970 DEADBEEF          0   0 0A8BC980 09F7A990 REG  CMNOLINK
  17 0A8D1CF8 DEADBEEF          0   0 0A8D1D08 09F7A990 REG  CMNOLINK
  18 0A7AE160 DEADBEEF          0   0 0A7AE170 09F79F50 REG  CMNOLINK
  19 0A8EF998 DEADBEEF          0   0 0A8EF9A8 09CC6528 REG  CMNOLINK
  20 0A7C41B8 DEADBEEF          0   0 0A7C41C8 09F7A990 REG  CMNOLINK
(0)> more (^C to quit) ? Interrupted
(0)> fino 1 print free inode slot 1
                   DEV     NUMBER CNT    GNODE    IPMNT TYPE FLAGS

     09CABFA0 DEADBEEF          0   0 09CABFB0 09CA7178 CHR  CMNOLINK


forw      09CABFA0 back      09CABFA0 next      0A8EF708 prev      0042AE60
gnode@    09CABFB0 number    00000000 dev       DEADBEEF ipmnt     09CA7178
flag      00000000 locks     00000000 bigexp    00000000 compress  00000000
cflag     00000004 count     00000000 event     FFFFFFFF movedfrag 00000000
openevent FFFFFFFF id        00000045 hip       00000000 nodelock  00000000
nodelock@ 09CAC020 dquot[USR]00000000 dquot[GRP]00000000 dinode@   09CAC02C
cluster   00000000 size      0000000000000000

GNODE............ 09CABFB0
gn_type....... 00000004 gn_flags...... 00000000 gn_seg........ 00000000
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 09CABF70 gn_rdev....... 00030000 gn_ops........ jfs_vops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 09CABFE4
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 09CABFA0
gn_type....... CHR

di_gen        00000000 di_mode       00000000 di_nlink      00000000
di_acct       00000000 di_uid        00000000 di_gid        00000000
di_nblocks    00000000 di_acl        00000000
di_mtime      32B67A97 di_atime      32B67A97 di_ctime      32B67B4B
di_size_hi    00000000 di_size_lo    00000000
di_rdev       00030000

VNODE........... 09CABF70
v_flag.... 00000000 v_count... 00000000 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09CABF7C v_vfsp.... 00000000
v_mvfsp... 00000000 v_gnode... 09CABFB0 v_next.... 00000000
v_vfsnext. 09CABE28 v_vfsprev. 00000000 v_pfsvnode 00000000
v_audit... 00000000

rnode Subcommand

The rno subcommand prints the remote node structure.

Example

   KDB(0)> rno 0A55D400 print rnode
   RNODE............ 0A55D400
   freef........ 00000000 freeb....... 00000000
   hash......... 0A59A400 @vnode...... 0A55D40C
   @gnode....... 0A55D43C @fh......... 0A55D480
   fh[ 0]....... 0033000300000003 000A0000381F2F54
   fh[16]....... A3FA0000000A0000 08002F53C1030000
   flags........ 000001A0 error....... 00000000
   lastr........ 00000000 cred........ 0A5757F8
   altcred...... 00000000 unlcred..... 00000000
   unlname...... 00000000 unldvp...... 00000000
   size......... 001C3A90 @attr....... 0A55D4C0
   @attrtime.... 0A55D520 sdname...... 00000000
   sdvp......... 00000000 vh.......... 00000885
   sid.......... 00000885 acl......... 00000000
   aclsz........ 00000000 pcl......... 00000000
   pclsz........ 00000000 @lock....... 0A55D548
   rmevent...... FFFFFFFF
   flags........ RWVP ACLINVALID PCLINVALID

cku Subcommand

The cku subcommand prints the client kudp private structure.

Example

   KDB(0)> tpid print current thread
                 SLOT NAME     STATE    TID PRI CPUID CPU FLAGS    WCHAN
   
   thread+001E00   40*biod     SLEEP 0028DD 03C       000 00000420 05F49A6C
   KDB(0)> f print current stack
   thread+001E00 STACK:
   [000191AC]e_block_thread+000214 ()
   [0004EE74]sosbwait+000190 (??, ??)
   [01AB64FC]clntkudp_callit_addr+0005A8 (0A1F3904, 00000006, 01AD8E48, 2FF3B198,
      01AD8E54, 2FF3B1C8, 00000001, 00061A80)
   [01AB757C]clntkudp_callit+000020 (??, ??, ??, ??, ??, ??, ??, ??)
   [01AC4888]rfscall_progvers+0002C8 (??, ??, ??, ??, ??, ??, ??, ??)
   [01ACA384]nfsread+0000D8 (??, ??, ??, ??, ??, ??, ??, ??)
   [01ACB680]do_bio+000268 (??, ??)
   [01AC9868]async_daemon_x+000060 (??, ??)
   [01AC9920]async_daemon+000044 ()
   [000036F0].sys_call+000000 ()
   KDB(0)> cku @r22 print client kudp information
   CKU_PRIVATE............ 0A1F3900
   flags............. 00000020 @client.......... 0A1F3904
   client.auth....... 054EE600 client.ops....... 01AC1898
   client.private.... 0A1F3900
   retrys............ 00000001 sock............. 05F49A00
   @addr............. 0A1F3918 @err............. 0A1F3928
   addr.sin_len...... 00000000 addr.sin_family.. 00000002
   addr.sin_port..... 00000801 addr.sin_addr.... 96B70101
   err.RE_errno...... 00000000 err.RE_why....... 00000000
   @outxdr........... 0A1F3934 @inxdr........... 0A1F394C
   outxdr.x_op....... 00000000 outxdr.x_ops..... 01AC1430
   outxdr.x_public... 00000000 outxdr.x_private. 0A5A6078
   outxdr.x_base..... 05E9F600 outxdr.x_handy... 000021E8
   inxdr.x_op........ 00000001 inxdr.x_ops...... 01AC1430
   inxdr.x_public.... 00000000 inxdr.x_private.. 05E0A7A6
   inxdr.x_base...... 05E0A700 inxdr.x_handy.... 00000000
   outpos............ 00000014 outbuf........... 0A5A6000
   inbuf............. 05E0A746 inmbuf........... 05E0A700
   cred.............. 0A5757F8 timers........... 0A3CC788
   timeall........... 0A3CC798 feedback......... 01AD90AC
   xid............... 5397F6B5 trb.............. 0A54E280
   @buflock.......... 0A1F3990 bufevent......... FFFFFFFF
   flags............. INTR

vnode Subcommand

The vno subcommand prints the virtual node structure.

Example

(0)> vnode print vnode table
              COUNT VFSGEN    GNODE     VFSP  DATAPTR TYPE FLAGS

 106 09D227B0     3      0 09D227F0 056D183C 00000000 REG
 126 09D1AB68     1      0 09D1ABA8 056D183C 00000000 REG
 130 09D196E8     1      0 09D19728 056D183C 00000000 REG
 135 09D18B60     1      0 09D18BA0 056D183C 05CC2D00 SOCK
 140 09D17E90     1      0 09D17ED0 056D183C 05D3F300 SOCK
 143 09D17970     1      0 09D179B0 056D183C 05CC2A00 SOCK
 148 09D17078     1      0 09D170B8 056D183C 05CC2800 SOCK
 154 09D14DE0     1      0 09D14E20 056D183C 00000000 REG
 162 09D13818     1      0 09D13858 056D183C 05D30E00 SOCK
 165 09D0D948     1      0 09D0D988 056D183C 00000000 DIR
 166 09D0D800     1      0 09D0D840 056D183C 00000000 DIR
 167 09D0D6B8     1      0 09D0D6F8 056D183C 00000000 DIR
 168 09D0D570     1      0 09D0D5B0 056D183C 00000000 DIR
 170 09D0D2E0     1      0 09D0D320 056D183C 00000000 DIR
 171 09D0D198     1      0 09D0D1D8 056D183C 00000000 DIR
 172 09D0D050     1      0 09D0D090 056D183C 00000000 DIR
 173 09D0CF08     1      0 09D0CF48 056D183C 00000000 DIR
 174 09D0CDC0     1      0 09D0CE00 056D183C 00000000 DIR
 175 09D0CC78     1      0 09D0CCB8 056D183C 00000000 DIR
 176 09D0CB30     1      0 09D0CB70 056D183C 00000000 DIR
(0)> more (^C to quit) ? Interrupted
(0)> vnode 106 print vnode slot 106
              COUNT VFSGEN    GNODE     VFSP  DATAPTR TYPE FLAGS

 106 09D227B0     3      0 09D227F0 056D183C 00000000 REG
v_flag.... 00000000 v_count... 00000003 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09D227BC v_vfsp.... 056D183C
v_mvfsp... 00000000 v_gnode... 09D227F0 v_next.... 00000000
v_vfsnext. 09D22668 v_vfsprev. 09D22B88 v_pfsvnode 00000000
v_audit... 00000000

mount Subcommand

The vfs subcommand prints the virtual file system table.

Example

 (0)> vfs print vfs table
                  GFS     MNTD MNTDOVER   VNODES     DATA TYPE   FLAGS

  1 056D183C 0024F268 09CC08B8 00000000 0A5AADA0 0B221F68 JFS    DEVMOUNT
... /dev/hd4 mounted over /
  2 056D18A4 0024F268 09CC2258 09CC0B48 0A545270 0B221F00 JFS    DEVMOUNT
... /dev/hd2 mounted over /usr
  3 056D1870 0024F268 09CC3820 09CC2DE0 09D913A8 0B221E30 JFS    DEVMOUNT
... /dev/hd9var mounted over /var
  4 056D1808 0024F268 09CC6DF0 09CC6120 0A7DC1E8 0B221818 JFS    DEVMOUNT
... /dev/hd3 mounted over /tmp
  5 056D18D8 0024F268 09D0BFA8 09D0B568 09D95500 0B2412F0 JFS    DEVMOUNT
... /dev/hd1 mounted over /home
  6 056D190C 0024F2C8 0B243C0C 09D0C238 0B9F6A0C 0B230500 NFS    READONLY REMOTE
... /pvt/tools mounted over /pvt/tools
  7 056D1940 0024F2C8 0B7E440C 09D0CB30 0B985C0C 0B230A00 NFS    READONLY REMOTE
... /pvt/base mounted over /pvt/base
  8 056D1974 0024F2C8 0B7E4A0C 09D0CC78 0B7E4A0C 0B230C00 NFS    READONLY REMOTE
... /pvt/periph mounted over /pvt/periph
  9 056D19A8 0024F2C8 0B7E4E0C 09D0CDC0 0B89000C 0B230E00 NFS    READONLY REMOTE
... /nfs mounted over /nfs
 10 056D19DC 0024F2C8 0B89020C 09D0CF08 0B89840C 0B230000 NFS    READONLY REMOTE
... /tcp mounted over /tcp
(0)> vfs 5 print vfs slot 5
                  GFS     MNTD MNTDOVER   VNODES     DATA TYPE   FLAGS

  5 056D18D8 0024F268 09D0BFA8 09D0B568 09D95500 0B2412F0 JFS    DEVMOUNT
... /dev/hd1 mounted over /home

vfs_next..... 056D190C vfs_count.... 00000001 vfs_mntd..... 09D0BFA8
vfs_mntdover. 09D0B568 vfs_vnodes... 09D95500 vfs_count.... 00000001
vfs_number... 00000009 vfs_bsize.... 00001000 vfs_mdata.... 0B7E8E80
vmt_revision. 00000001 vmt_length... 00000070 vfs_fsid..... 000A0008 00000003
vmt_vfsnumber 00000009 vfs_date..... 32B67BFF vfs_flag..... 00000004
vmt_gfstype.. 00000003 @vmt_data.... 0B7E8EA4 vfs_lock..... 00000000
vfs_lock@.... 056D1904 vfs_type..... 00000003 vfs_ops...... jfs_vfsops

VFS_GFS.. gfs+000000
gfs_data. 00000000 gfs_flag. INIT VERSION4 VERSION42 VERSION421
gfs_ops.. jfs_vfsops     gn_ops... jfs_vops       gfs_name. jfs
gfs_init. jfs_init       gfs_rinit jfs_rootinit   gfs_type. JFS
gfs_hold. 00000013

VFS_MNTD.. 09D0BFA8
v_flag.... 00000001 v_count... 00000001 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09D0BFB4 v_vfsp.... 056D18D8
v_mvfsp... 00000000 v_gnode... 09D0BFE8 v_next.... 00000000
v_vfsnext. 00000000 v_vfsprev. 09D730A0 v_pfsvnode 00000000
v_audit... 00000000 v_flag.... ROOT

VFS_MNTDOVER.. 09D0B568
v_flag.... 00000000 v_count... 00000001 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 09D0B574 v_vfsp.... 056D183C
v_mvfsp... 056D18D8 v_gnode... 09D0B5A8 v_next.... 00000000
v_vfsnext. 09D0A230 v_vfsprev. 09D0C0F0 v_pfsvnode 00000000
v_audit... 00000000

VFS_VNODES LIST...
              COUNT VFSGEN    GNODE     VFSP  DATAPTR TYPE FLAGS

   1 09D95500     0      0 09D95540 056D18D8 00000000 REG
   2 09D94AC0     0      0 09D94B00 056D18D8 00000000 DIR
   3 09D91DE8     0      0 09D91E28 056D18D8 00000000 REG
   4 09D91A10     0      0 09D91A50 056D18D8 00000000 DIR
   5 09D8EFC8     0      0 09D8F008 056D18D8 00000000 REG
   6 09D8EBF0     0      0 09D8EC30 056D18D8 00000000 DIR
   7 09D8C580     0      0 09D8C5C0 056D18D8 00000000 REG
   8 09D8C060     0      0 09D8C0A0 056D18D8 00000000 DIR
   9 09D8A058     0      0 09D8A098 056D18D8 00000000 REG
  10 09D89C80     0      0 09D89CC0 056D18D8 00000000 DIR
  11 09D89240     0      0 09D89280 056D18D8 00000000 REG
...
             COUNT VFSGEN    GNODE     VFSP  DATAPTR TYPE FLAGS

  63 09D73478     0      0 09D734B8 056D18D8 00000000 REG
  64 09D730A0     0      0 09D730E0 056D18D8 00000000 DIR
  65 09D0BFA8     1      0 09D0BFE8 056D18D8 00000000 DIR  ROOT

specnode Subcommand

The specnode subcommand prints special device nodes.

Example

(0)> file file+002880 print file entry
                 COUNT           OFFSET     DATA TYPE   FLAGS

 217 file+002880     6 000000000002818F 056CE314 VNODE  READ WRITE

f_flag......... 00000003 f_count........ 00000006
f_msgcount......... 0000 f_type............. 0001
f_data......... 056CE314 f_offset... 000000000002818F
f_dir_off...... 00000000 f_cred......... 0B988E58
f_lock@........ 004B18B8 f_lock......... 00000000
f_offset_lock@. 004B18BC f_offset_lock.. 00000000
f_vinfo........ 00000000 f_ops.......... 00250FC0 vnodefops+000000
VNODE.......... 056CE314
v_flag.... 00000000 v_count... 00000002 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 056CE320 v_vfsp.... 01AC9840
v_mvfsp... 00000000 v_gnode... 0B2215C8 v_next.... 00000000
v_vfsnext. 00000000 v_vfsprev. 00000000 v_pfsvnode 09CD5D88
v_audit... 00000000
(0)> gno 0B2215C8 print gnode entry
GNODE............ 0B2215C8
gn_type....... 00000004 gn_flags...... 00000000 gn_seg........ 007FFFFF
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 056CE314 gn_rdev....... 000E0000 gn_ops........ spec_vnops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 0B2215FC
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 0B2215B8
gn_type....... CHR
(0)> specno 0B2215B8 print special node entry
SPECNODE........ 0B2215B8
sn_next...... 00000000 sn_count..... 00000001 sn_lock...... 00000000
sn_gnode..... 0B2215C8 sn_pfsgnode.. 09CD5DC8 sn_attr...... 00000000
sn_dev....... 000E0000 sn_chan...... 00000000 sn_vnode..... 056CE314
sn_ops....... 00275518 sn_devnode... 0B221C80 sn_type...... CHR

SN_VNODE........ 056CE314
v_flag.... 00000000 v_count... 00000002 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 056CE320 v_vfsp.... 01AC9840
v_mvfsp... 00000000 v_gnode... 0B2215C8 v_next.... 00000000
v_vfsnext. 00000000 v_vfsprev. 00000000 v_pfsvnode 09CD5D88
v_audit... 00000000

SN_GNODE......... 0B2215C8
gn_type....... 00000004 gn_flags...... 00000000 gn_seg........ 007FFFFF
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 056CE314 gn_rdev....... 000E0000 gn_ops........ spec_vnops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 0B2215FC
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 0B2215B8
gn_type....... CHR

SN_PFSGNODE...... 09CD5DC8
gn_type....... 00000004 gn_flags...... 00000000 gn_seg........ 00000000
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 09CD5D88 gn_rdev....... 000E0000 gn_ops........ jfs_vops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 09CD5DFC
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 09CD5DB8
gn_type....... CHR

devnode Subcommand

The devno subcommand prints device nodes.

Example

(0)> devno print device node table
                   DEV CNT SPECNODE    GNODE    LASTR    PDATA TYPE

   1 0B241758 00300000   1 0B2212E0 0B241768 00000000 05CB4E00 CHR
   2 0B221C18 00100000   1 00000000 0B221C28 00000000 00000000 CHR
   3 0B221940 00110000   2 00000000 0B221950 00000000 00000000 BLK
   4 0B221870 00020000   1 0B221140 0B221880 00000000 00000000 CHR
   5 0B7E5A10 00120001   2 00000000 0B7E5A20 00000000 00000000 BLK
   6 0B241070 00020001   1 0B8A3EF0 0B241080 00000000 00000000 CHR
   7 0B2219A8 00020002   1 0B221008 0B2219B8 00000000 00000000 CHR
   8 0B2218D8 00130000   1 00000000 0B2218E8 00000000 00000000 CHR
   9 0B7E5BB0 00330001   1 00000000 0B7E5BC0 00000000 00000000 BLK
  10 0B221A10 00130001   1 00000000 0B221A20 00000000 00000000 CHR
  11 0B241008 00330002   1 00000000 0B241018 00000000 00000000 BLK
  12 0B7E59A8 00130002   1 00000000 0B7E59B8 00000000 00000000 CHR
  13 0B7E5C18 00330003   1 00000000 0B7E5C28 00000000 00000000 BLK
  14 0B7E5808 00130003   1 00000000 0B7E5818 00000000 00000000 CHR
  15 0B7E5A78 00330004   1 00000000 0B7E5A88 00000000 00000000 BLK
  16 0B7E5C80 00330005   1 00000000 0B7E5C90 00000000 00000000 BLK
  17 0B7E5CE8 00330006   1 00000000 0B7E5CF8 00000000 00000000 BLK
  18 0B2416F0 00040000   1 0B2211A8 0B241700 00000000 00000000 MPC
  19 0B221BB0 00150000   3 0B221688 0B221BC0 00000000 05CC3E00 CHR
  20 0B2410D8 00060000   1 0B221480 0B2410E8 00000000 00000000 CHR
(0)> more (^C to quit) ? Interrupted
(0)> devno 3 print device node slot 3
                   DEV CNT SPECNODE    GNODE    LASTR    PDATA TYPE

   3 0B221940 00110000   2 00000000 0B221950 00000000 00000000 BLK

forw...... 00DD6CD8 back...... 00DD6CD8 lock...... 00000000

GNODE............ 0B221950
gn_type....... 00000003 gn_flags...... 00000000 gn_seg........ 007FFFFF
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000002 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 00000000 gn_rdev....... 00110000 gn_ops........ 00000000
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 0B221984
gn_reclk_event 00000000 gn_filocks.... 00000000 gn_data....... 0B221940
gn_type....... BLK

SPECNODES....... 00000000

fifonode Subcommand

The fifono subcommand prints fifo nodes.

Example

(0)> fifono print fifo node table
              PFSGNODE SPECNODE     SIZE  RCNT  WCNT TYPE FLAG

   1 056D1C08 09D15EC8 0B2210D8 00000000     1     1 FIFO WWRT
   2 056D1CA8 09D1BB08 0B7E5070 00000000     1     1 FIFO RBLK WWRT
(0)> fifono 1 print fifo node slot 1
              PFSGNODE SPECNODE     SIZE  RCNT  WCNT TYPE FLAG

   1 056D1C08 09D15EC8 0B2210D8 00000000     1     1 FIFO WWRT

ff_forw.... 00DD6D44 ff_back.... 00DD6D44 ff_dev..... FFFFFFFF
ff_poll.... 00000001 ff_rptr.... 00000000 ff_wptr.... 00000000
ff_revent.. FFFFFFFF ff_wevent.. FFFFFFFF ff_buf..... 056D1C34

SPECNODE........ 0B2210D8
sn_next...... 00000000 sn_count..... 00000001 sn_lock...... 00000000
sn_gnode..... 0B2210E8 sn_pfsgnode.. 09D15EC8 sn_attr...... 00000000
sn_dev....... FFFFFFFF sn_chan...... 00000000 sn_vnode..... 056CE070
sn_ops....... 002751B0 sn_devnode... 056D1C08 sn_type...... FIFO

SN_VNODE........ 056CE070
v_flag.... 00000000 v_count... 00000002 v_vfsgen.. 00000000
v_lock.... 00000000 v_lock@... 056CE07C v_vfsp.... 01AC9810
v_mvfsp... 00000000 v_gnode... 0B2210E8 v_next.... 00000000
v_vfsnext. 00000000 v_vfsprev. 00000000 v_pfsvnode 09D15E88
v_audit... 00000000

SN_GNODE......... 0B2210E8
gn_type....... 00000008 gn_flags...... 00000000 gn_seg........ 007FFFFF
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 056CE070 gn_rdev....... FFFFFFFF gn_ops........ fifo_vnops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 0B22111C
gn_reclk_event 00000000 gn_filocks.... 00000000 gn_data....... 0B2210D8
gn_type....... FIFO

SN_PFSGNODE...... 09D15EC8
gn_type....... 00000008 gn_flags...... 00000000 gn_seg........ 00000000
gn_mwrcnt..... 00000000 gn_mrdcnt..... 00000000 gn_rdcnt...... 00000000
gn_wrcnt...... 00000000 gn_excnt...... 00000000 gn_rshcnt..... 00000000
gn_vnode...... 09D15E88 gn_rdev....... 000A0005 gn_ops........ jfs_vops
gn_chan....... 00000000 gn_reclk_lock. 00000000 gn_reclk_lock@ 09D15EFC
gn_reclk_event FFFFFFFF gn_filocks.... 00000000 gn_data....... 09D15EB8
gn_type....... FIFO

hnode Subcommand

The hno subcommand prints hash node table.

Example

(0)> hno print hash node table
                  BUCKET HEAD     LOCK     COUNT

hnodetable+000000    1   0B241758 00000000     2
hnodetable+0000C0   17   0B221940 00000000     1
hnodetable+00012C   26   056D1C08 00000000     1
hnodetable+000180   33   0B221870 00000000     1
hnodetable+00018C   34   0B7E5A10 00000000     2
hnodetable+000198   35   0B2219A8 00000000     1
hnodetable+000240   49   0B2218D8 00000000     1
hnodetable+00024C   50   0B7E5BB0 00000000     2
hnodetable+000258   51   0B241008 00000000     2
hnodetable+000264   52   0B7E5C18 00000000     2
hnodetable+000270   53   0B7E5A78 00000000     1
hnodetable+00027C   54   0B7E5C80 00000000     1
hnodetable+000288   55   0B7E5CE8 00000000     1
hnodetable+000300   65   0B2416F0 00000000     1
hnodetable+0003C0   81   0B221BB0 00000000     1
hnodetable+000480   97   0B2410D8 00000000     1
hnodetable+00048C   98   0B221B48 00000000     1
hnodetable+000540  113   0B7E5AE0 00000000     1
hnodetable+00054C  114   0B7E5EF0 00000000     1
hnodetable+000600  129   0B7E5B48 00000000     1
(0)> more (^C to quit) ? Interrupted
(0)> hno 34 print hash node bucket 34
HASH ENTRY( 34): 00DD6DA4
                   DEV CNT SPECNODE    GNODE    LASTR    PDATA TYPE

   1 0B7E5A10 00120001   2 00000000 0B7E5A20 00000000 00000000 BLK
   2 0B241070 00020001   1 0B8A3EF0 0B241080 00000000 00000000 CHR

[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]