Description of key parameters for kfed to read data disk headers
% Kfed read/dev/raw/raw1
Kfbh. endian: 1; 0x000: 0x01
Kfbh. hard: 130; 0x001: 0x82
Kfbh. type: 1; 0x002: KFBTYP_DISKHEAD
Kfbh. datfmt: 1; 0x003: 0x01
Kfbh. block. blk: 0; 0x004: T = 0 NUMB = 0x0
Kfbh. block. obj: 2147483648; 0x008: TYPE = 0x8 NUMB = 0x0
Kfbh. check: 2932902794; 0x00c: 0xaed08b8a
Kfbh. fcn. base: 0; 0x10: 0x00000000
Kfbh. fcn. wrap: 0; 0x014: 0x00000000
Kfbh. spare1: 0; 0x018: 0x00000000
Kfbh. spare2: 0; 0x01c: 0x00000000
Kfdhdb. driver. provstr: ORCLDISK; 0x000: length = 8
Kfdhdb. driver. reserved [0]: 0; 0x008: 0x00000000
Kfdhdb. driver. reserved [1]: 0; 0x00c: 0x00000000
Kfdhdb. driver. reserved [2]: 0; 0x010: 0x00000000
Kfdhdb. driver. reserved [3]: 0; 0x014: 0x00000000
Kfdhdb. driver. reserved [4]: 0; 0x018: 0x00000000
Kfdhdb. driver. reserved [5]: 0; 0x01c: 0x00000000
Kfdhdb. compat: 168820736; 0x020: 0x0a100000
Kfdhdb. dsknum: 0; 0x024: 0x0000
Kfdhdb. grptyp: 1; 0x026: KFDGTP_EXTERNAL
Kfdhdb. hdrsts: 3; 0x027: KFDHDR_MEMBER
Kfdhdb. dskname: ASM01_0000; 0x028: length = 10
Kfdhdb. Kgname: ASM01; 0x048: length = 5
Kfdhdb. fgname: ASM01_0000; 0x068: length = 10
Kfdhdb. capname:; 0x088: length = 0
Kfdhdb. crestmp. hi: 32837774; 0x0a8: HOUR = 0xe DAYS = 0x4 MNTH = 0x4 YEAR = 0x7d4
Kfdhdb. crestmp. lo: 1555722240; 0x0ac: USEC = 0x0 MSEC = 0x29c SECS = 0xb MINS = 0x17
Kfdhdb. mntstmp. hi: 32837774; 0x0b0: HOUR = 0xe DAYS = 0x4 MNTH = 0x4 YEAR = 0x7d4
Kfdhdb. mntstmp. lo: 1563864064; 0x0b4: USEC = 0x0 MSEC = 0x1ab SECS = 0x13 MINS = 0x17
Kfdhdb. secsize: 512; 0x0b8: 0x0200
Kfdhdb. blksize: 4096; 0x0ba: 0x1000
Kfdhdb. ausize: 1048576; 0x0bc: 0x00100000
Kfdhdb. mfact: 113792; 0x0c0: 0x0001bc80
Kfdhdb. dsksize: 9075; 0x0c4: 0x00002373
Kfdhdb. pmcnt: 2; 0x0c8: 0x00000002
Kfdhdb. fstlocn: 1; 0x0cc: 0x00000001
Kfdhdb. altlocn: 2; 0x0d0: 0x00000002
Kfdhdb. f1b1locn: 2; 0x0d4: 0x00000002
Kfdhdb. redomirrors [0]: 0; 0x0d8: 0x0000
Kfdhdb. redomirrors [1]: 0; 0x0da: 0x0000
Kfdhdb. redomirrors [2]: 0; 0x0dc: 0x0000
Kfdhdb. redomirrors [3]: 0; 0x0de: 0x0000
Kfdhdb. ub4spare [0]: 0; 0x0: 0x00000000
...
Kfdhdb. ub4spare [60]: 0; 0x1d0: 0x00000000
Kfdhdb. acdb. aba. seq: 0; 0x1d4: 0x00000000
Kfdhdb. acdb. aba. blk: 0; 0x1d8: 0x00000000
Kfdhdb. acdb. ents: 0; 0x1 DC: 0x0000
Kfdhdb. acdb. ub2spare: 0; 0x1de: 0x0000
Breakdown:
Kfbh. endian
Kf3.h/* endianness of writer */
Little endian = 1
Big endian = 0
Kfbh. hard
Kf3.h/* H. A.R. D. magic # and block size */
Kfbh. type
Kf3.h/* metadata block type */
Kfbh. datfmt
Kf3.h/* metadata block data format */
Kfbh. block
Kf3.h/* block location of this block */
Blk -- Disk header shocould have T = 0 and NUMB = 0x0
Obj -- Disk header shocould have TYPE = 0x8 NUMB = <disknumber>
Blk and obj values are derived from a series of macros in kf3.h. See
"KFBL Macros" in kf3.h for more information.
Kfbh. check
Kf3.h/* check value to verify consistency */
Kfbh. fcn
Kf3.h/* change number of last change */
Kfdhdb. driver
Kf3.h/* OSMLIB driver reserved block */
If no driver is defined "ORCLDISK" is used.
Kfdhdb. compat
Kf3.h/* Comaptible software version */
Example: 0x0a100000
You get:
A = 10 1 = 1 so 10.1.0.0.0
Kfdhdb. dsknum
Kf3.h/* OSM disk number *
This is the disk number. The first disk being "0". There can be up
Ub2 disks in a diskgroup. This allows for 65336 disks 0 through 65335.
Kfdhdb. grptyp
Kf3.h/* Disk group type */
Kfdhdb. hdrsts
Kf3.h/* Disk header status */
This is what is used to determine if a disk is available or not
The diskgroup. 0x03 is the correct value for a valid status.
Kfdhdb. dskname/* OSM disk name */
Kfdhdb. Kgname/* OSM disk group name */
Kfdhdb. fgname/* Failure group name */
Kfdhdb. capname/* Capacity grp, unused */
Kf3.h
Kfdhdb. crestmp/* Creation timestamp */
Kfdhdb. mntstmp/* Mount timestamp */
Kf3.h To derive the hi and low time' from an unformated dump use
"KFTS Macros" in kf3.h.
Kfdhdb. secsize
Kf3.h/* Disk sector size (bytes )*/
This is the physical sector size of the disk in bytes. All I/O's to
Disk are described in physical sectors. This must be a power of 2.
Ideal value wocould be 4096, but most disks are formatted with 512 byte
Sectors. (from asmlib. h)
Kfdhdb. blksize
Kf3.h/* Metadata block (bytes )*/
Kfdhdb. ausize
Kf3.h/* Allocation Unit (bytes )*/
Kfdhdb. mfact
Kf3.h/* Stride between phys addr AUs */
Kfdhdb. dsksize
Kf3.h/* Disk size in AUs */
Mulitply by AUs to get actual size of disk when added.
Kfdhdb. pmcnt
Kf3.h/* Permanent phys addressed AUs */
Number of physically addressed allocation units.
Kfdhdb. fstlocn
Kf3.h/* First FreeSpace table blk num */
Used to find freespace.
Kfdhdb. altlocn
Kf3.h/* First Alocation table blk num */
Used to find alocated space.
Kfdhdb. f1b1locn
Kf3.h/* File Directory blk 1 AU num */
Beginging for file directory.