Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) SystemV Filesystem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) It implements all of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)   - Xenix FS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9)   - SystemV/386 FS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)   - Coherent FS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) To install:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) * Answer the 'System V and Coherent filesystem support' question with 'y'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)   when configuring the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) * To mount a disk or a partition, use::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)     mount [-r] -t sysv device mountpoint
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)   The file system type names::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)                -t sysv
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)                -t xenix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)                -t coherent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)   may be used interchangeably, but the last two will eventually disappear.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) Bugs in the present implementation:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) - Coherent FS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)   - The "free list interleave" n:m is currently ignored.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)   - Only file systems with no filesystem name and no pack name are recognized.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)     (See Coherent "man mkfs" for a description of these features.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) - SystemV Release 2 FS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)   The superblock is only searched in the blocks 9, 15, 18, which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)   corresponds to the beginning of track 1 on floppy disks. No support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)   for this FS on hard disk yet.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) These filesystems are rather similar. Here is a comparison with Minix FS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) * Linux fdisk reports on partitions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)   - Minix FS     0x81 Linux/Minix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)   - Xenix FS     ??
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)   - SystemV FS   ??
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)   - Coherent FS  0x08 AIX bootable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) * Size of a block or zone (data allocation unit on disk)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)   - Minix FS     1024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)   - Xenix FS     1024 (also 512 ??)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)   - SystemV FS   1024 (also 512 and 2048)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57)   - Coherent FS   512
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) * General layout: all have one boot block, one super block and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60)   separate areas for inodes and for directories/data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61)   On SystemV Release 2 FS (e.g. Microport) the first track is reserved and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)   all the block numbers (including the super block) are offset by one track.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) * Byte ordering of "short" (16 bit entities) on disk:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)   - Minix FS     little endian  0 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)   - Xenix FS     little endian  0 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)   - SystemV FS   little endian  0 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69)   - Coherent FS  little endian  0 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)   Of course, this affects only the file system, not the data of files on it!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) * Byte ordering of "long" (32 bit entities) on disk:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)   - Minix FS     little endian  0 1 2 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)   - Xenix FS     little endian  0 1 2 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)   - SystemV FS   little endian  0 1 2 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)   - Coherent FS  PDP-11         2 3 0 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)   Of course, this affects only the file system, not the data of files on it!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) * Inode on disk: "short", 0 means non-existent, the root dir ino is:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)   =================================  ==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)   Minix FS                            1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86)   Xenix FS, SystemV FS, Coherent FS   2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87)   =================================  ==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) * Maximum number of hard links to a file:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91)   ===========  =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)   Minix FS     250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)   Xenix FS     ??
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)   SystemV FS   ??
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)   Coherent FS  >=10000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)   ===========  =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) * Free inode management:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)   - Minix FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)       a bitmap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)   - Xenix FS, SystemV FS, Coherent FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)       There is a cache of a certain number of free inodes in the super-block.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)       When it is exhausted, new free inodes are found using a linear search.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) * Free block management:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)   - Minix FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)       a bitmap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)   - Xenix FS, SystemV FS, Coherent FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)       Free blocks are organized in a "free list". Maybe a misleading term,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)       since it is not true that every free block contains a pointer to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)       the next free block. Rather, the free blocks are organized in chunks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)       of limited size, and every now and then a free block contains pointers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)       to the free blocks pertaining to the next chunk; the first of these
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)       contains pointers and so on. The list terminates with a "block number"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)       0 on Xenix FS and SystemV FS, with a block zeroed out on Coherent FS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) * Super-block location:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)   ===========  ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)   Minix FS     block 1 = bytes 1024..2047
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)   Xenix FS     block 1 = bytes 1024..2047
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)   SystemV FS   bytes 512..1023
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)   Coherent FS  block 1 = bytes 512..1023
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)   ===========  ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) * Super-block layout:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)   - Minix FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)                     unsigned short s_ninodes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)                     unsigned short s_nzones;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)                     unsigned short s_imap_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)                     unsigned short s_zmap_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)                     unsigned short s_firstdatazone;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)                     unsigned short s_log_zone_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)                     unsigned long s_max_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)                     unsigned short s_magic;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)   - Xenix FS, SystemV FS, Coherent FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)                     unsigned short s_firstdatazone;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)                     unsigned long  s_nzones;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)                     unsigned short s_fzone_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)                     unsigned long  s_fzones[NICFREE];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)                     unsigned short s_finode_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)                     unsigned short s_finodes[NICINOD];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)                     char           s_flock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)                     char           s_ilock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)                     char           s_modified;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)                     char           s_rdonly;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)                     unsigned long  s_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)                     short          s_dinfo[4]; -- SystemV FS only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)                     unsigned long  s_free_zones;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)                     unsigned short s_free_inodes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)                     short          s_dinfo[4]; -- Xenix FS only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)                     unsigned short s_interleave_m,s_interleave_n; -- Coherent FS only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)                     char           s_fname[6];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)                     char           s_fpack[6];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)     then they differ considerably:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)         Xenix FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)                     char           s_clean;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)                     char           s_fill[371];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)                     long           s_magic;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)                     long           s_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)         SystemV FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)                     long           s_fill[12 or 14];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)                     long           s_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)                     long           s_magic;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)                     long           s_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)         Coherent FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)                     unsigned long  s_unique;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)     Note that Coherent FS has no magic.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) * Inode layout:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)   - Minix FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)                     unsigned short i_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)                     unsigned short i_uid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)                     unsigned long  i_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)                     unsigned long  i_time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)                     unsigned char  i_gid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)                     unsigned char  i_nlinks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)                     unsigned short i_zone[7+1+1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)   - Xenix FS, SystemV FS, Coherent FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)                     unsigned short i_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)                     unsigned short i_nlink;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)                     unsigned short i_uid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)                     unsigned short i_gid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)                     unsigned long  i_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)                     unsigned char  i_zone[3*(10+1+1+1)];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)                     unsigned long  i_atime;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)                     unsigned long  i_mtime;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)                     unsigned long  i_ctime;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) * Regular file data blocks are organized as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)   - Minix FS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)              - 7 direct blocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	     - 1 indirect block (pointers to blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)              - 1 double-indirect block (pointer to pointers to blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)   - Xenix FS, SystemV FS, Coherent FS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)              - 10 direct blocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)              -  1 indirect block (pointers to blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)              -  1 double-indirect block (pointer to pointers to blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)              -  1 triple-indirect block (pointer to pointers to pointers to blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)   ===========  ==========   ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226)                Inode size   inodes per block
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)   ===========  ==========   ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)   Minix FS        32        32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)   Xenix FS        64        16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)   SystemV FS      64        16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)   Coherent FS     64        8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)   ===========  ==========   ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) * Directory entry on disk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)   - Minix FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)                     unsigned short inode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)                     char name[14/30];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)   - Xenix FS, SystemV FS, Coherent FS::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243)                     unsigned short inode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244)                     char name[14];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246)   ===========    ==============    =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247)                  Dir entry size    dir entries per block
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248)   ===========    ==============    =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)   Minix FS       16/32             64/32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250)   Xenix FS       16                64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)   SystemV FS     16                64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)   Coherent FS    16                32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)   ===========    ==============    =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) * How to implement symbolic links such that the host fsck doesn't scream:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)   - Minix FS     normal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258)   - Xenix FS     kludge: as regular files with  chmod 1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)   - SystemV FS   ??
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)   - Coherent FS  kludge: as regular files with  chmod 1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) Notation: We often speak of a "block" but mean a zone (the allocation unit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) and not the disk driver's notion of "block".