Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fs(4) — HP-UX 5.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

inode(4)

fsck(1M)

FS[SDF](4)

Series 500 Implementation

NAME

fs − format of system volume

SYNOPSIS

#include <sys/param.h>
#include <sys/filsys.h>

Remarks: This manual page describes the format of the system volume as implemented on the Series 500.  Refer to other fs manual pages for information valid for other implementations. 

DESCRIPTION

Every Structured Directory Format (SDF) volume is divided into logical blocks, the size of which is selected when init is executed.  Block 0 is the superblock.  It has the following format:

struct filsys {
ushorts_format;/∗ disc fmt, should = 0x700 Unix ∗/
ushorts_corrupt;/∗ non-zero if directory corrupt ∗/
chars_fname[16];/∗ root dir name, blank padded ∗/
time_ioss_init;/∗ date initialized / unique id ∗/
ints_blksz;/∗ no. bytes per block ∗/
daddr_ts_boot;/∗ boot area starting block ∗/
ints_bootsz;/∗ size of boot area in blks ∗/
daddr_ts_fa;/∗ FA file starting block ∗/
ints_version;/∗ version no., 0 for Unix ∗/
daddr_ts_maxblk;/∗ largest addressable blk ∗/
chars_passwd[16];/∗ volume password, Unix unused ∗/
time_ioss_bkup;/∗ last backup date, Unix unused ∗/
/∗ rest of blk unused ∗/
};

The file attributes file (FA file) begins at the block specified by s_fa in the superblock.  It has five major sections:

Each entry consists of 128 bytes.  Entry 0 is the i-node of the FA file itself (see inode(5) for a description of the i-node structure).  Entry 1 is the i-node for the file system’s root directory, /. 

Entry 3 through entry n consists of the free map, which keeps track of every free (unused) block of memory on the device.  The free map contains a bit for each block on the device.  If a bit is set, the corresponding block of memory is free; otherwise, the corresponding block is being used.  The free map is zero-padded to guarantee that it ends on a 128-byte boundary. 

Entry n+1 through the end of the FA file contains an entry for every file in the system.  Each entry is either an i-node, an extent map, or unused.  An extent map contains 128 bytes of information, and looks as follows:

struct em_rec {
ushorte_type;/∗ =2 for extent maps ∗/
ushorte_exnum;/∗ # extents in this rec. ∗/
inte_res1;/∗ unused ∗/
ino_te_next;/∗ next map in list; none = neg ∗/
ino_te_last;/∗ last map in list; none = neg ∗/
ino_te_inode;/∗ owner i-node no. ∗/
daddr_te_boffset;/∗ blk offset of 1st extent from start of file ∗/
struct {
daddr_te_startblk;/∗ extent start blk ∗/
inte_numblk;/∗ # blks in extent ∗/
}e_extent[13];
};

FILES

/usr/include/sys/param.h
/usr/include/sys/filsys.h
/usr/include/sys/ino.h

SEE ALSO

inode(4), fsck(1M). 

Hewlett-Packard Company  —  April 12, 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026