DataMuseum.dk

Presents historical artifacts from the history of:

ICL Comet 32

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about ICL Comet 32

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦39625d039⟧

    Length: 13554 (0x34f2)
    Notes: UNIX file
    Names: »filsys.5«

Derivation

└─⟦26887b7e0⟧ Bits:30009717 Comet 32 harddisk image
    └─⟦28c352965⟧ »/a« UNIX Filesystem
        └─⟦this⟧ »usr/man/cat5/filsys.5« 

Default Hex Dump

0x0000…0020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a   ┆                                ┆
            […0x1…]
0x0040…0060 0a 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0060…0080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0080…00a0 20 20 20 20 20 20 20 20 20 20 20 20 20 31 0a 0a 0a 0a 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20   ┆             1                  ┆
0x00a0…00c0 46 49 4c 53 59 53 28 35 29 20 20 20 20 20 20 20 20 20 20 55 4e 49 58 20 50 72 6f 67 72 61 6d 6d   ┆FILSYS(5)          UNIX Programm┆
0x00c0…00e0 65 72 27 73 20 4d 61 6e 75 61 6c 20 20 20 20 20 20 20 20 20 20 20 46 49 4c 53 59 53 28 35 29 0a   ┆er's Manual           FILSYS(5) ┆
0x00e0…0100 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 4e 41 4d 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆              NAME              ┆
0x0100…0120 20 20 20 66 69 6c 73 79 73 2c 20 66 6c 62 6c 6b 2c 20 69 6e 6f 20 2d 20 66 6f 72 6d 61 74 20 6f   ┆   filsys, flblk, ino - format o┆
0x0120…0140 66 20 66 69 6c 65 20 73 79 73 74 65 6d 20 76 6f 6c 75 6d 65 0a 0a 20 20 20 20 20 20 20 20 20 20   ┆f file system volume            ┆
0x0140…0160 20 53 59 4e 4f 50 53 49 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75   ┆ SYNOPSIS                 #inclu┆
0x0160…0180 64 65 20 3c 73 79 73 2f 74 79 70 65 73 2e 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆de <sys/types.h>                ┆
0x0180…01a0 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 66 6c 62 6b 2e 68 3e 0a 20 20 20 20 20 20 20 20 20   ┆ #include <sys/flbk.h>          ┆
0x01a0…01c0 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 66 69 6c 73 79 73 2e 68 3e 0a 20   ┆       #include <sys/filsys.h>  ┆
0x01c0…01e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 69 6e 6f   ┆               #include <sys/ino┆
0x01e0…0200 2e 68 3e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 44 45 53 43 52 49 50 54 49 4f 4e 0a 20 20 20 20   ┆.h>             DESCRIPTION     ┆
0x0200…0220 20 20 20 20 20 20 20 20 20 20 20 20 45 76 65 72 79 20 66 69 6c 65 20 73 79 73 74 65 6d 20 73 74   ┆            Every file system st┆
0x0220…0240 6f 72 61 67 65 20 76 6f 6c 75 6d 65 20 68 61 73 20 61 20 63 6f 6d 6d 6f 6e 20 20 66 6f 72 6d 61   ┆orage volume has a common  forma┆
0x0240…0260 74 20 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 65 72 74 61 69 6e 20 20   ┆t  for                 certain  ┆
0x0260…0280 76 69 74 61 6c 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 45 76 65 72 79 20 73 75 63 68 20   ┆vital  information.  Every such ┆
0x0280…02a0 76 6f 6c 75 6d 65 20 69 73 20 64 69 76 69 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆volume is divided               ┆
0x02a0…02c0 20 20 69 6e 74 6f 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66 20 31 30 32 34 2d   ┆  into a certain number of 1024-┆
0x02c0…02e0 62 79 74 65 20 20 62 6c 6f 63 6b 73 2e 20 20 20 42 6c 6f 63 6b 20 20 30 20 20 69 73 0a 20 20 20   ┆byte  blocks.   Block  0  is    ┆
0x02e0…0300 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 75 73 65 64 20 20 61 6e 64 20 20 69 73 20 20 61 76   ┆             unused  and  is  av┆
0x0300…0320 61 69 6c 61 62 6c 65 20 74 6f 20 63 6f 6e 74 61 69 6e 20 61 20 62 6f 6f 74 73 74 72 61 70 20 70   ┆ailable to contain a bootstrap p┆
0x0320…0340 72 6f 67 72 61 6d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 20 6c 61 62   ┆rogram,                 pack lab┆
0x0340…0360 65 6c 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20   ┆el, or other information.       ┆
0x0360…0380 20 20 20 20 20 20 20 20 20 20 20 42 6c 6f 63 6b 20 31 20 69 73 20 74 68 65 20 5f 08 73 5f 08 75   ┆           Block 1 is the _ s_ u┆
0x0380…03a0 5f 08 70 5f 08 65 5f 08 72 20 5f 08 62 5f 08 6c 5f 08 6f 5f 08 63 5f 08 6b 2e 20 54 68 65 20 6c   ┆_ p_ e_ r _ b_ l_ o_ c_ k. The l┆
0x03a0…03c0 61 79 6f 75 74 20 6f 66 20 74 68 65 20 73 75 70 65 72 20 20 62 6c 6f 63 6b 0a 20 20 20 20 20 20   ┆ayout of the super  block       ┆
0x03c0…03e0 20 20 20 20 20 20 20 20 20 20 61 73 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 69 6e 63 6c   ┆          as defined by the incl┆
0x03e0…0400 75 64 65 20 66 69 6c 65 20 3c 5f 08 73 5f 08 79 5f 08 73 2f 5f 08 66 5f 08 69 5f 08 6c 5f 08 73   ┆ude file <_ s_ y_ s/_ f_ i_ l_ s┆
0x0400…0420 5f 08 79 5f 08 73 2e 5f 08 68 3e 20 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆_ y_ s._ h> is:                 ┆
0x0420…0440 20 2f 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 20 40 28 23 29 66 69 6c 73 79   ┆ /*                  * @(#)filsy┆
0x0440…0460 73 2e 68 20 33 2e 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37 2f 31 34 2f 38 33 0a 20 20   ┆s.h 3.3               7/14/83   ┆
0x0460…0480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 20 40 28 23 29 43 6f 70 79 72 69 67 68 74 20 28   ┆               * @(#)Copyright (┆
0x0480…04a0 43 29 20 31 39 38 33 20 62 79 20 4e 61 74 69 6f 6e 61 6c 20 53 65 6d 69 63 6f 6e 64 75 63 74 6f   ┆C) 1983 by National Semiconducto┆
0x04a0…04c0 72 20 43 6f 72 70 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20   ┆r Corp.                  */     ┆
0x04c0…04e0 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             /*                 ┆
0x04e0…0500 20 2a 20 53 74 72 75 63 74 75 72 65 20 6f 66 20 74 68 65 20 73 75 70 65 72 2d 62 6c 6f 63 6b 0a   ┆ * Structure of the super-block ┆
0x0500…0520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 */             ┆
0x0520…0540 20 20 20 20 73 74 72 75 63 74 20 66 69 6c 73 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆    struct filsys               ┆
0x0540…0560 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 69 67   ┆  {                        unsig┆
0x0560…0580 6e 65 64 20 73 68 6f 72 74 20 73 5f 69 73 69 7a 65 3b 20 20 20 20 2f 2a 20 73 69 7a 65 20 69 6e   ┆ned short s_isize;    /* size in┆
0x0580…05a0 20 62 6c 6f 63 6b 73 20 6f 66 20 69 2d 6c 69 73 74 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ blocks of i-list */            ┆
0x05a0…05c0 20 20 20 20 20 20 20 20 20 20 20 20 64 61 64 64 72 5f 74 20 20 73 5f 66 73 69 7a 65 3b 20 20 20   ┆            daddr_t  s_fsize;   ┆
0x05c0…05e0 20 20 20 20 20 20 20 2f 2a 20 73 69 7a 65 20 69 6e 20 62 6c 6f 63 6b 73 20 6f 66 20 65 6e 74 69   ┆       /* size in blocks of enti┆
0x05e0…0600 72 65 20 76 6f 6c 75 6d 65 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆re volume */                    ┆
0x0600…0620 20 20 20 20 73 68 6f 72 74 20 20 20 20 73 5f 6e 66 72 65 65 3b 20 20 20 20 20 20 20 20 20 20 2f   ┆    short    s_nfree;          /┆
0x0620…0640 2a 20 6e 75 6d 62 65 72 20 6f 66 20 61 64 64 72 65 73 73 65 73 20 69 6e 20 73 5f 66 72 65 65 20   ┆* number of addresses in s_free ┆
0x0640…0660 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 64 64 72 5f   ┆*/                        daddr_┆
0x0660…0680 74 20 20 73 5f 66 72 65 65 5b 4e 49 43 46 52 45 45 5d 3b 20 20 2f 2a 20 66 72 65 65 20 62 6c 6f   ┆t  s_free[NICFREE];  /* free blo┆
0x0680…06a0 63 6b 20 6c 69 73 74 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ck list */                      ┆
0x06a0…06c0 20 20 73 68 6f 72 74 20 20 20 20 73 5f 6e 69 6e 6f 64 65 3b 20 20 20 20 20 20 20 20 20 2f 2a 20   ┆  short    s_ninode;         /* ┆
0x06c0…06e0 6e 75 6d 62 65 72 20 6f 66 20 69 2d 6e 6f 64 65 73 20 69 6e 20 73 5f 69 6e 6f 64 65 20 2a 2f 0a   ┆number of i-nodes in s_inode */ ┆
0x06e0…0700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 6f 5f 74 20 20 20 20   ┆                       ino_t    ┆
0x0700…0720 73 5f 69 6e 6f 64 65 5b 4e 49 43 49 4e 4f 44 5d 3b 20 2f 2a 20 66 72 65 65 20 69 2d 6e 6f 64 65   ┆s_inode[NICINOD]; /* free i-node┆
0x0720…0740 20 6c 69 73 74 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ list */                        ┆
0x0740…0760 63 68 61 72 20 20 20 20 20 73 5f 66 6c 6f 63 6b 3b 20 20 20 20 20 20 20 20 20 20 2f 2a 20 6c 6f   ┆char     s_flock;          /* lo┆
0x0760…0780 63 6b 20 64 75 72 69 6e 67 20 66 72 65 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e   ┆ck during free list manipulation┆
0x0780…07a0 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20   ┆ */                        char ┆
0x07a0…07c0 20 20 20 20 73 5f 69 6c 6f 63 6b 3b 20 20 20 20 20 20 20 20 20 20 2f 2a 20 6c 6f 63 6b 20 64 75   ┆    s_ilock;          /* lock du┆
0x07c0…07e0 72 69 6e 67 20 69 2d 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 2a 2f 0a 20 20 20 20   ┆ring i-list manipulation */     ┆
0x07e0…0800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 20 20 20 20 73 5f 66 6d   ┆                   char     s_fm┆
0x0800…0820 6f 64 3b 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 73 75 70 65 72 20 62 6c 6f 63 6b 20 6d 6f 64   ┆od;           /* super block mod┆
0x0820…0840 69 66 69 65 64 20 66 6c 61 67 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ified flag */                   ┆
0x0840…0860 20 20 20 20 20 63 68 61 72 20 20 20 20 20 73 5f 72 6f 6e 6c 79 3b 20 20 20 20 20 20 20 20 20 20   ┆     char     s_ronly;          ┆
0x0860…0880 2f 2a 20 6d 6f 75 6e 74 65 64 20 72 65 61 64 2d 6f 6e 6c 79 20 66 6c 61 67 20 2a 2f 0a 20 20 20   ┆/* mounted read-only flag */    ┆
0x0880…08a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 5f 74 20 20 20 73 5f 74   ┆                    time_t   s_t┆
0x08a0…08c0 69 6d 65 3b 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 6c 61 73 74 20 73 75 70 65 72 20 62 6c 6f   ┆ime;           /* last super blo┆
0x08c0…08e0 63 6b 20 75 70 64 61 74 65 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ck update */                    ┆
0x08e0…0900 20 20 20 20 64 61 64 64 72 5f 74 20 20 73 5f 74 66 72 65 65 3b 20 20 20 20 20 20 20 20 20 20 2f   ┆    daddr_t  s_tfree;          /┆
0x0900…0920 2a 20 74 6f 74 61 6c 20 66 72 65 65 20 62 6c 6f 63 6b 73 2a 2f 0a 20 20 20 20 20 20 20 20 20 20   ┆* total free blocks*/           ┆
0x0920…0940 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 6f 5f 74 20 20 20 20 73 5f 74 69 6e 6f 64 65 3b 20   ┆             ino_t    s_tinode; ┆
0x0940…0960 20 20 20 20 20 20 20 20 2f 2a 20 74 6f 74 61 6c 20 66 72 65 65 20 69 6e 6f 64 65 73 20 2a 2f 0a   ┆        /* total free inodes */ ┆
0x0960…0980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 62 65 67 69 6e 20   ┆                       /* begin ┆
0x0980…09a0 6e 6f 74 20 6d 61 69 6e 74 61 69 6e 65 64 20 62 79 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f   ┆not maintained by this version o┆
0x09a0…09c0 66 20 74 68 65 20 73 79 73 74 65 6d 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆f the system */                 ┆
0x09c0…09e0 20 20 20 20 20 20 20 73 68 6f 72 74 20 20 20 20 73 5f 64 69 6e 66 6f 5b 32 5d 3b 20 20 20 20 20   ┆       short    s_dinfo[2];     ┆
0x09e0…0a00 20 20 2f 2a 20 69 6e 74 65 72 6c 65 61 76 65 20 73 74 75 66 66 20 2a 2f 0a 20 20 20 20 20 20 20   ┆  /* interleave stuff */        ┆
0x0a00…0a20 20 20 20 20 20 20 20 20 20 23 64 65 66 69 6e 65 20 20 20 20 20 20 20 20 20 73 5f 6d 20 20 20 20   ┆         #define         s_m    ┆
0x0a20…0a40 20 20 20 20 20 20 20 20 20 20 20 73 5f 64 69 6e 66 6f 5b 30 5d 0a 20 20 20 20 20 20 20 20 20 20   ┆           s_dinfo[0]           ┆
0x0a40…0a60 20 20 20 20 20 20 23 64 65 66 69 6e 65 20 20 20 20 20 20 20 20 20 73 5f 6e 20 20 20 20 20 20 20   ┆      #define         s_n       ┆
0x0a60…0a80 20 20 20 20 20 20 20 20 73 5f 64 69 6e 66 6f 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆        s_dinfo[1]              ┆
0x0a80…0aa0 20 20 20 20 20 20 20 20 20 20 2f 2a 20 65 6e 64 20 6e 6f 74 20 6d 61 69 6e 74 61 69 6e 65 64 20   ┆          /* end not maintained ┆
0x0aa0…0ac0 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 20   ┆*/                        char  ┆
0x0ac0…0ae0 20 20 20 73 5f 66 6e 61 6d 65 5b 31 32 5d 3b 20 20 20 20 20 20 2f 2a 20 66 69 6c 65 20 73 79 73   ┆   s_fname[12];      /* file sys┆
0x0ae0…0b00 74 65 6d 20 6e 61 6d 65 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆tem name */                     ┆
0x0b00…0b20 20 20 20 69 6e 6f 5f 74 20 20 20 20 73 5f 6c 61 73 74 69 3b 20 20 20 20 20 20 20 20 20 20 2f 2a   ┆   ino_t    s_lasti;          /*┆
0x0b20…0b40 20 73 74 61 72 74 20 70 6c 61 63 65 20 66 6f 72 20 63 69 72 63 75 6c 61 72 20 73 65 61 72 63 68   ┆ start place for circular search┆
0x0b40…0b60 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 6f 5f 74   ┆ */                        ino_t┆
0x0b60…0b80 20 20 20 20 73 5f 6e 62 65 68 69 6e 64 3b 20 20 20 20 20 20 20 20 2f 2a 20 65 73 74 20 23 20 66   ┆    s_nbehind;        /* est # f┆
0x0b80…0ba0 72 65 65 20 69 6e 6f 64 65 73 20 62 65 66 6f 72 65 20 73 5f 6c 61 73 74 69 20 2a 2f 0a 20 20 20   ┆ree inodes before s_lasti */    ┆
0x0ba0…0bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆             };                 ┆
0x0bc0…0be0 20 23 69 66 64 65 66 20 4b 45 52 4e 45 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73   ┆ #ifdef KERNEL                 s┆
0x0be0…0c00 74 72 75 63 74 20 66 69 6c 73 79 73 20 2a 67 65 74 66 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20   ┆truct filsys *getfs();          ┆
0x0c00…0c20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f   ┆       #endif                  _┆
0x0c20…0c40 08 53 5f 5f 08 69 5f 08 73 5f 08 69 5f 08 7a 5f 08 65 20 69 73 20 74 68 65 20 61 64 64 72 65 73   ┆ S__ i_ s_ i_ z_ e is the addres┆
0x0c40…0c60 73 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 20 62 6c 6f 63 6b 20 20 61 66 74 65 72 20 20 74 68   ┆s of the first  block  after  th┆
0x0c60…0c80 65 20 20 69 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 2c 20 77 68 69 63   ┆e  i-                 list, whic┆
0x0c80…0ca0 68 20 73 74 61 72 74 73 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 73 75 70 65 72 2d 62 6c   ┆h starts just after the super-bl┆
0x0ca0…0cc0 6f 63 6b 2c 20 69 6e 20 62 6c 6f 63 6b 20 32 2e 0a 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆ock, in block 2.                ┆
0x0cc0…0ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x0ce0…0d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 0a 0a   ┆                             1  ┆
0x0d00…0d20 0a 0a 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 46 49 4c 53 59 53 28 35 29 20 20 20 20 20 20 20   ┆                FILSYS(5)       ┆
0x0d20…0d40 20 20 20 55 4e 49 58 20 50 72 6f 67 72 61 6d 6d 65 72 27 73 20 4d 61 6e 75 61 6c 20 20 20 20 20   ┆   UNIX Programmer's Manual     ┆
0x0d40…0d60 20 20 20 20 20 20 46 49 4c 53 59 53 28 35 29 0a 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆      FILSYS(5)                 ┆
0x0d60…0d80 20 20 20 54 68 75 73 20 74 68 65 20 69 2d 6c 69 73 74 20 69 73 20 5f 08 73 5f 5f 08 69 5f 08 73   ┆   Thus the i-list is _ s__ i_ s┆
0x0d80…0da0 5f 08 69 5f 08 7a 5f 08 65 2d 32 20 62 6c 6f 63 6b 73 20 6c 6f 6e 67 2e 20 20 5f 08 53 5f 5f 08   ┆_ i_ z_ e-2 blocks long.  _ S__ ┆
0x0da0…0dc0 66 5f 08 73 5f 08 69 5f 08 7a 5f 08 65 20 69 73 20 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20   ┆f_ s_ i_ z_ e is  the           ┆
0x0dc0…0de0 20 20 20 20 20 20 61 64 64 72 65 73 73 20 20 6f 66 20 20 74 68 65 20 66 69 72 73 74 20 62 6c 6f   ┆      address  of  the first blo┆
0x0de0…0e00 63 6b 20 6e 6f 74 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72   ┆ck not potentially available for┆
0x0e00…0e20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 74 6f 20 61   ┆                 allocation to a┆
0x0e20…0e40 20 66 69 6c 65 2e 20 20 54 68 65 73 65 20 6e 75 6d 62 65 72 73 20 61 72 65 20 75 73 65 64 20 62   ┆ file.  These numbers are used b┆
0x0e40…0e60 79 20 74 68 65 20 20 73 79 73 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6d 20   ┆y the  sys-                 tem ┆
0x0e60…0e80 20 74 6f 20 20 63 68 65 63 6b 20 66 6f 72 20 62 61 64 20 62 6c 6f 63 6b 20 61 64 64 72 65 73 73   ┆ to  check for bad block address┆
0x0e80…0ea0 65 73 3b 20 69 66 20 61 6e 20 60 69 6d 70 6f 73 73 69 62 6c 65 27 0a 20 20 20 20 20 20 20 20 20   ┆es; if an `impossible'          ┆
0x0ea0…0ec0 20 20 20 20 20 20 20 62 6c 6f 63 6b 20 61 64 64 72 65 73 73 20 69 73 20 61 6c 6c 6f 63 61 74 65   ┆       block address is allocate┆
0x0ec0…0ee0 64 20 66 72 6f 6d 20 74 68 65 20 66 72 65 65 20 6c 69 73 74 20 6f 72 20 69 73 20 66 72 65 65 64   ┆d from the free list or is freed┆
0x0ee0…0f00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 64 69 61 67 6e 6f 73 74 69 63 20 69   ┆,                 a diagnostic i┆
0x0f00…0f20 73 20 77 72 69 74 74 65 6e 20 6f 6e 20 74 68 65 20 6f 6e 2d 6c 69 6e 65 20 63 6f 6e 73 6f 6c 65   ┆s written on the on-line console┆
0x0f20…0f40 2e 20 20 4d 6f 72 65 6f 76 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65   ┆.  Moreover,                 the┆
0x0f40…0f60 20 66 72 65 65 20 61 72 72 61 79 20 69 73 20 63 6c 65 61 72 65 64 2c 20 73 6f 20 61 73 20 74 6f   ┆ free array is cleared, so as to┆
0x0f60…0f80 20 70 72 65 76 65 6e 74 20 66 75 72 74 68 65 72 20 20 61 6c 6c 6f 2d 0a 20 20 20 20 20 20 20 20   ┆ prevent further  allo-         ┆
0x0f80…0fa0 20 20 20 20 20 20 20 20 63 61 74 69 6f 6e 20 66 72 6f 6d 20 61 20 70 72 65 73 75 6d 61 62 6c 79   ┆        cation from a presumably┆
0x0fa0…0fc0 20 63 6f 72 72 75 70 74 65 64 20 66 72 65 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20   ┆ corrupted free list.           ┆
0x0fc0…0fe0 20 20 20 20 20 20 20 54 68 65 20 66 72 65 65 20 6c 69 73 74 20 66 6f 72 20 65 61 63 68 20 76 6f   ┆       The free list for each vo┆
0x0fe0…1000 6c 75 6d 65 20 69 73 20 20 6d 61 69 6e 74 61 69 6e 65 64 20 20 61 73 20 20 66 6f 6c 6c 6f 77 73   ┆lume is  maintained  as  follows┆
0x1000…1020 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 20 20 5f 08 73 5f 5f 08 66 5f   ┆.                 The   _ s__ f_┆
0x1020…1040 08 72 5f 08 65 5f 08 65 20 20 20 61 72 72 61 79 20 20 20 63 6f 6e 74 61 69 6e 73 2c 20 20 20 69   ┆ r_ e_ e   array   contains,   i┆
0x1040…1060 6e 20 20 20 5f 08 73 5f 5f 08 66 5f 08 72 5f 08 65 5f 08 65 5b 5f 08 31 5d 2c 20 20 2e 2e 2e 20   ┆n   _ s__ f_ r_ e_ e[_ 1],  ... ┆
0x1060…1080 20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 08 73 5f 5f 08 66 5f 08 72 5f 08 65   ┆ ,                 _ s__ f_ r_ e┆
0x1080…10a0 5f 08 65 5b 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 2d 5f 08 31 5d 2c 20 75 70   ┆_ e[_ s__ n_ f_ r_ e_ e-_ 1], up┆
0x10a0…10c0 20 74 6f 20 4e 49 43 46 52 45 45 20 66 72 65 65 20 62 6c 6f 63 6b 20 6e 75 6d 62 65 72 73 2e 20   ┆ to NICFREE free block numbers. ┆
0x10c0…10e0 20 4e 49 43 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 52 45 45 20 20 69 73 20 61   ┆ NIC-                 FREE  is a┆
0x10e0…1100 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 6f 6e 73 74 61 6e 74 2e 20 20 5f 08 53 5f 5f 08   ┆ configuration constant.  _ S__ ┆
0x1100…1120 66 5f 08 72 5f 08 65 5f 08 65 5b 5f 08 30 5d 20 69 73 20 74 68 65 20 62 6c 6f 63 6b 0a 20 20 20   ┆f_ r_ e_ e[_ 0] is the block    ┆
0x1120…1140 20 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 68 65 61 64   ┆             address of the head┆
0x1140…1160 20 6f 66 20 61 20 63 68 61 69 6e 20 6f 66 20 62 6c 6f 63 6b 73 20 63 6f 6e 73 74 69 74 75 74 69   ┆ of a chain of blocks constituti┆
0x1160…1180 6e 67 20 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 65 65 20 20 6c 69   ┆ng  the                 free  li┆
0x1180…11a0 73 74 2e 20 20 54 68 65 20 6c 61 79 6f 75 74 20 6f 66 20 65 61 63 68 20 62 6c 6f 63 6b 20 6f 66   ┆st.  The layout of each block of┆
0x11a0…11c0 20 74 68 65 20 66 72 65 65 20 63 68 61 69 6e 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆ the free chain as              ┆
0x11c0…11e0 20 20 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 20 3c   ┆   defined in the include file <┆
0x11e0…1200 5f 08 73 5f 08 79 5f 08 73 2f 5f 08 66 5f 08 62 5f 08 6c 5f 08 6b 2e 5f 08 68 3e 20 69 73 3a 0a   ┆_ s_ y_ s/_ f_ b_ l_ k._ h> is: ┆
0x1200…1220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20   ┆                 /*             ┆
0x1220…1240 20 20 20 20 20 2a 20 40 28 23 29 66 62 6c 6b 2e 68 20 20 20 33 2e 32 20 20 20 20 20 20 20 20 20   ┆     * @(#)fblk.h   3.2         ┆
0x1240…1260 20 20 20 20 20 20 37 2f 31 34 2f 38 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a   ┆      7/14/83                  *┆
0x1260…1280 20 40 28 23 29 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 33 20 62 79 20 4e 61 74 69 6f   ┆ @(#)Copyright (C) 1983 by Natio┆
0x1280…12a0 6e 61 6c 20 53 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 43 6f 72 70 2e 0a 20 20 20 20 20 20 20 20   ┆nal Semiconductor Corp.         ┆
0x12a0…12c0 20 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72   ┆         */                  str┆
0x12c0…12e0 75 63 74 20 66 62 6c 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20   ┆uct fblk                 {      ┆
0x12e0…1300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 20 64 66 5f 6e 66   ┆                  int      df_nf┆
0x1300…1320 72 65 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 64 64   ┆ree;                        dadd┆
0x1320…1340 72 5f 74 20 20 64 66 5f 66 72 65 65 5b 4e 49 43 46 52 45 45 5d 3b 0a 20 20 20 20 20 20 20 20 20   ┆r_t  df_free[NICFREE];          ┆
0x1340…1360 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 66   ┆       };                  The f┆
0x1360…1380 69 65 6c 64 73 20 5f 08 64 5f 08 66 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 20 61 6e 64   ┆ields _ d_ f__ n_ f_ r_ e_ e and┆
0x1380…13a0 20 5f 08 64 5f 08 66 5f 5f 08 66 5f 08 72 5f 08 65 5f 08 65 20 69 6e 20 61 20 66 72 65 65 20 62   ┆ _ d_ f__ f_ r_ e_ e in a free b┆
0x13a0…13c0 6c 6f 63 6b 20 20 61 72 65 20 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆lock  are  used                 ┆
0x13c0…13e0 65 78 61 63 74 6c 79 20 20 6c 69 6b 65 20 20 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f   ┆exactly  like  _ s__ n_ f_ r_ e_┆
0x13e0…1400 08 65 20 20 61 6e 64 20 5f 08 73 5f 5f 08 66 5f 08 72 5f 08 65 5f 08 65 20 69 6e 20 74 68 65 20   ┆ e  and _ s__ f_ r_ e_ e in the ┆
0x1400…1420 73 75 70 65 72 20 62 6c 6f 63 6b 2e 20 20 54 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆super block.  To                ┆
0x1420…1440 20 61 6c 6c 6f 63 61 74 65 20 61 20 62 6c 6f 63 6b 3a 20 64 65 63 72 65 6d 65 6e 74 20 5f 08 73   ┆ allocate a block: decrement _ s┆
0x1440…1460 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 2c 20 20 61 6e 64 20 20 74 68 65 20 20 6e 65 77   ┆__ n_ f_ r_ e_ e,  and  the  new┆
0x1460…1480 20 20 62 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 20   ┆  block                 number  ┆
0x1480…14a0 69 73 20 5f 08 73 5f 5f 08 66 5f 08 72 5f 08 65 5f 08 65 5b 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08   ┆is _ s__ f_ r_ e_ e[_ s__ n_ f_ ┆
0x14a0…14c0 72 5f 08 65 5f 08 65 5d 2e 20 49 66 20 74 68 65 20 6e 65 77 20 62 6c 6f 63 6b 20 61 64 64 72 65   ┆r_ e_ e]. If the new block addre┆
0x14c0…14e0 73 73 20 69 73 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 72 65 20 61   ┆ss is 0,                 there a┆
0x14e0…1500 72 65 20 6e 6f 20 62 6c 6f 63 6b 73 20 6c 65 66 74 2c 20 73 6f 20 67 69 76 65 20 61 6e 20 20 65   ┆re no blocks left, so give an  e┆
0x1500…1520 72 72 6f 72 2e 20 20 20 49 66 20 20 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 0a   ┆rror.   If  _ s__ n_ f_ r_ e_ e ┆
0x1520…1540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 63 61 6d 65 20 20 30 2c 20 20 72 65 61 64   ┆                became  0,  read┆
0x1540…1560 20 74 68 65 20 6e 65 77 20 62 6c 6f 63 6b 20 69 6e 74 6f 20 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08   ┆ the new block into _ s__ n_ f_ ┆
0x1560…1580 72 5f 08 65 5f 08 65 20 61 6e 64 20 5f 08 73 5f 5f 08 66 5f 08 72 5f 08 65 5f 08 65 2e 20 54 6f   ┆r_ e_ e and _ s__ f_ r_ e_ e. To┆
0x1580…15a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 65 65 20 61 20 62 6c 6f 63 6b 2c 20 63   ┆                 free a block, c┆
0x15a0…15c0 68 65 63 6b 20 69 66 20 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 20 69 73 20 20   ┆heck if _ s__ n_ f_ r_ e_ e is  ┆
0x15c0…15e0 4e 49 43 46 52 45 45 3b 20 20 69 66 20 20 73 6f 2c 20 20 63 6f 70 79 0a 20 20 20 20 20 20 20 20   ┆NICFREE;  if  so,  copy         ┆
0x15e0…1600 20 20 20 20 20 20 20 20 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 20 20 61 6e 64   ┆        _ s__ n_ f_ r_ e_ e  and┆
0x1600…1620 20 20 74 68 65 20 20 5f 08 73 5f 5f 08 66 5f 08 72 5f 08 65 5f 08 65 20 61 72 72 61 79 20 69 6e   ┆  the  _ s__ f_ r_ e_ e array in┆
0x1620…1640 74 6f 20 69 74 2c 20 77 72 69 74 65 20 69 74 20 6f 75 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 20   ┆to it, write it out, and        ┆
0x1640…1660 20 20 20 20 20 20 20 20 20 73 65 74 20 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65   ┆         set _ s__ n_ f_ r_ e_ e┆
0x1660…1680 20 74 6f 20 30 2e 20 20 49 6e 20 61 6e 79 20 65 76 65 6e 74 20 73 65 74 20 5f 08 73 5f 5f 08 66   ┆ to 0.  In any event set _ s__ f┆
0x1680…16a0 5f 08 72 5f 08 65 5f 08 65 5b 5f 08 73 5f 5f 08 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 5d 20 74   ┆_ r_ e_ e[_ s__ n_ f_ r_ e_ e] t┆
0x16a0…16c0 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 65 65 64 20 62 6c 6f 63   ┆o the                 freed bloc┆
0x16c0…16e0 6b 27 73 20 61 64 64 72 65 73 73 20 61 6e 64 20 69 6e 63 72 65 6d 65 6e 74 20 5f 08 73 5f 5f 08   ┆k's address and increment _ s__ ┆
0x16e0…1700 6e 5f 08 66 5f 08 72 5f 08 65 5f 08 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆n_ f_ r_ e_ e.                  ┆
0x1700…1720 5f 08 53 5f 5f 08 6e 5f 08 69 5f 08 6e 5f 08 6f 5f 08 64 5f 08 65 20 69 73 20 74 68 65 20 6e 75   ┆_ S__ n_ i_ n_ o_ d_ e is the nu┆
0x1720…1740 6d 62 65 72 20 6f 66 20 66 72 65 65 20 69 2d 6e 75 6d 62 65 72 73 20 20 69 6e 20 20 74 68 65 20   ┆mber of free i-numbers  in  the ┆
0x1740…1760 20 5f 08 73 5f 5f 08 69 5f 08 6e 5f 08 6f 5f 08 64 5f 08 65 0a 20 20 20 20 20 20 20 20 20 20 20   ┆ _ s__ i_ n_ o_ d_ e            ┆
0x1760…1780 20 20 20 20 20 61 72 72 61 79 2e 20 20 54 6f 20 61 6c 6c 6f 63 61 74 65 20 61 6e 20 69 2d 6e 6f   ┆     array.  To allocate an i-no┆
0x1780…17a0 64 65 3a 20 69 66 20 5f 08 73 5f 5f 08 6e 5f 08 69 5f 08 6e 5f 08 6f 5f 08 64 5f 08 65 20 69 73   ┆de: if _ s__ n_ i_ n_ o_ d_ e is┆
0x17a0…17c0 20 67 72 65 61 74 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 2c   ┆ greater than                 0,┆
0x17c0…17e0 20 64 65 63 72 65 6d 65 6e 74 20 69 74 20 61 6e 64 20 72 65 74 75 72 6e 20 5f 08 73 5f 5f 08 69   ┆ decrement it and return _ s__ i┆
0x17e0…1800 5f 08 6e 5f 08 6f 5f 08 64 5f 08 65 5b 5f 08 73 5f 5f 08 6e 5f 08 69 5f 08 6e 5f 08 6f 5f 08 64   ┆_ n_ o_ d_ e[_ s__ n_ i_ n_ o_ d┆
0x1800…1820 5f 08 65 5d 2e 20 49 66 20 69 74 20 77 61 73 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆_ e]. If it was 0,              ┆
0x1820…1840 20 20 20 72 65 61 64 20 20 74 68 65 20 20 69 2d 6c 69 73 74 20 61 6e 64 20 70 6c 61 63 65 20 74   ┆   read  the  i-list and place t┆
0x1840…1860 68 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 61 6c 6c 20 66 72 65 65 20 69 6e 6f 64 65 73 0a 20 20   ┆he numbers of all free inodes   ┆
0x1860…1880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 70 20 74 6f 20 4e 49 43 49 4e 4f 44 29 20 69 6e   ┆              (up to NICINOD) in┆
0x1880…18a0 74 6f 20 74 68 65 20 5f 08 73 5f 5f 08 69 5f 08 6e 5f 08 6f 5f 08 64 5f 08 65 20 61 72 72 61 79   ┆to the _ s__ i_ n_ o_ d_ e array┆
0x18a0…18c0 2c 20 20 74 68 65 6e 20 20 74 72 79 20 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20   ┆,  then  try  again.            ┆
0x18c0…18e0 20 20 20 20 20 54 6f 20 20 66 72 65 65 20 20 61 6e 20 20 69 2d 6e 6f 64 65 2c 20 70 72 6f 76 69   ┆     To  free  an  i-node, provi┆
0x18e0…1900 64 65 64 20 5f 08 73 5f 5f 08 6e 5f 08 69 5f 08 6e 5f 08 6f 5f 08 64 5f 08 65 20 69 73 20 6c 65   ┆ded _ s__ n_ i_ n_ o_ d_ e is le┆
0x1900…1920 73 73 20 74 68 61 6e 20 4e 49 43 49 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f   ┆ss than NICI-                 NO┆
[…truncated at 200 lines…]