VTOC

SUSE Linux Enterprise Server 15 SP5 LPAR mode z/VM guest KVM guest

Instead of a regular Linux® partition table, SUSE Linux Enterprise Server 15 SP5 for IBM Z®, like other mainframe operating systems, uses a Volume Table Of Contents (VTOC).

The VTOC contains pointers to the location of every data set on the volume. These data sets form the Linux partitions.

The VTOC is on the second track (cylinder 0, track 1). It contains a number of labels, each written in a separate block:
  • One format 4 DSCB that describes the VTOC itself
  • One format 5 DSCB

    The format 5 DSCB is required by other operating systems but is not used by Linux. fdasd sets it to zeros.

  • For volumes with more than 65636 tracks, 1 format 7 DSCB following the format 5 DSCB
  • For volumes with more than 65520 cylinders (982800 tracks), 1 format 8 DSCB following the format 5 DSCB
  • A format 1 DSCB for each partition

    The key of the format 1 DSCB contains the data set name, which identifies the partition to z/OS®, z/VM® or z/VSE®.

The VTOC can be displayed with standard IBM® Z tools such as VM/DITTO. A Linux DASD with physical device number 0x0193, volume label LNX001, and three partitions might be displayed like this example:

                            VM/DITTO DISPLAY VTOC                  LINE 1 OF 5
===>                                                          SCROLL ===> PAGE

CUU,193 ,VOLSER,LNX001   3390, WITH   100 CYLS, 15 TRKS/CYL, 58786 BYTES/TRK

--- FILE NAME --- (SORTED BY =,NAME  ,) ---- EXT    BEGIN-END     RELTRK,
1...5...10...15...20...25...30...35...40.... SQ   CYL-HD   CYL-HD      NUMTRKS
 *** VTOC EXTENT ***                          0     0  1     0  1      1,1
LINUX.VLNX001.PART0001.NATIVE                 0     0  2    46 11      2,700
LINUX.VLNX001.PART0002.NATIVE                 0    46 12    66 11    702,300
LINUX.VLNX001.PART0003.NATIVE                 0    66 12    99 14   1002,498
 *** THIS VOLUME IS CURRENTLY 100 PER CENT FULL WITH      0 TRACKS AVAILABLE

PF  1=HELP      2=TOP       3=END       4=BROWSE    5=BOTTOM    6=LOCATE
PF  7=UP        8=DOWN      9=PRINT    10=RGT/LEFT 11=UPDATE   12=RETRIEVE

The ls command on Linux might list this DASD and its partitions like this example:

# ls -l /dev/dasda*
brw-rw---- 1 root disk 94, 0 Jan 27 09:04 /dev/dasda
brw-rw---- 1 root disk 94, 1 Jan 27 09:04 /dev/dasda1
brw-rw---- 1 root disk 94, 2 Jan 27 09:04 /dev/dasda2
brw-rw---- 1 root disk 94, 3 Jan 27 09:04 /dev/dasda3

where dasda represent the whole DASD and dasda1, dasda2, and dasda3 represent the individual partitions.