home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.20 / text0003.txt < prev    next >
Encoding:
Internet Message Format  |  1990-08-02  |  9.0 KB

  1. From: <jsh@usenix.org>
  2.  
  3.  
  4.            An Update on UNIX*-Related Standards Activities
  5.  
  6.                                May 1990
  7.  
  8.                  USENIX Standards Watchdog Committee
  9.  
  10.                    Jeffrey S. Haemer, Report Editor
  11.  
  12. ANSI X3B11.1: WORM File Systems
  13.  
  14. Andrew Hume <andrew@research.att.com> reports on the April 17-19, 1990
  15. meeting in Tucson, AZ:
  16.  
  17. Introduction
  18.  
  19. X3B11.1 is working on a standard for file interchange on write-once,
  20. non-sequential (random access) media: a portable file system for
  21. WORMs.  This was our fourth meeting.  With many major issues somewhat
  22. settled, our main, remaining decisions are how to implement directory
  23. hierarchies and how to manage free space.
  24.  
  25. Multi-Volume Sets
  26.  
  27. WORM file systems store a fair amount of information per file (such as
  28. most of the fields in struct stat), per directory, per partition, and
  29. per volume.  A volume is a logical address space associated with a
  30. piece of physical media.  For example, a WORM disk that can only be
  31. accessed one side at a time would be two volumes.  Each volume has a
  32. label block describing its size, partitions, directory hierarchies,
  33. free-space management, and so on.  (Free-space management is discussed
  34. below; for now, this could mean a pointer to the next free block.)
  35.  
  36. Informally, multi-volume sets means files and directories can be
  37. spread over several volumes.  Here are some requirements for this
  38. feature:
  39.  
  40.    - A file can be bigger than a volume (file sizes are limited to
  41.      2**64 bytes).
  42.  
  43.    - You can append to a file.
  44.  
  45.    - You can update any part of a file.
  46.  
  47.    - All volumes need not be simultaneously accessible.  (That is, if
  48.      you have a three-volume volume set, you don't need three drives.)
  49.  
  50. __________
  51.  
  52.   * UNIX is a registered trademark of AT&T in the U.S. and other
  53.     countries.
  54.  
  55. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  56.  
  57.  
  58.                                 - 2 -
  59.  
  60.    - Each volume, and the whole volume set, must be consistent after
  61.      an update.
  62.  
  63.    - Usable, although perhaps not fast, on a single drive.  The idea
  64.      is that you can't mandate that the control structures for the
  65.      volume set be distributed over the set, because that would mean
  66.      that on single-drive systems, users might have to mount every
  67.      volume to recover even a single file.  We would like to require
  68.      only that the user mount the volume the file is on and perhaps
  69.      one other (the master volume).
  70.  
  71.    - Each volume must be self-contained (for disaster recovery),
  72.  
  73.    - Security control is per volume, directory, and file.
  74.  
  75. After convincing ourselves that we all spoke roughly the same
  76. language, we came to consensus decisions for the following questions:
  77.  
  78.    - Can a file description point to extents (files are spread across
  79.      a list of extents) on later volumes? (Yes)
  80.  
  81.    - Can a directory entry point to a file description on a later
  82.      volume? (Yes)
  83.  
  84.    - Must a directory be completely contained on a single volume? (No)
  85.      Why?  There's no reason to require it.  All implementations are
  86.      likely to use the same primitives to manage files and directories
  87.      (that is, they'll implement directories as files); if you can
  88.      handle multi-volume files correctly, directories should be easy
  89.      too.  Some people were concerned about being able to get the
  90.      directory in one (more or less) I/O or block (especially for MS-
  91.      DOS) but that can't happen in general; directories and files are
  92.      likely to be spread all over the volume.
  93.  
  94.    - must all the file descriptions for a single directory hierarchy
  95.      fit on a single volume? (no)
  96.  
  97.    - should each volume of a volume set point to the volume describing
  98.      the root of the main directory hierarchy for that set? (yes)
  99.  
  100. The above involve subtleties not readily apparent; details available
  101. on request.
  102.  
  103. Directory Hierarchies
  104.  
  105. Much discussion centered on how to implement directory hierarchies --
  106. at least, after our initial surprise discovery that we are committed
  107. to support multiple directory hierarchies.  This commitment comes from
  108. the CD-ROM standard, ISO 9660, where the intent was to have an ASCII
  109. directory tree and one or more national-character-set trees.
  110.  
  111. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  112.  
  113.  
  114.                                 - 3 -
  115.  
  116. [Editor: CD-ROMs, like WORMs, are on write-only media, but solve
  117. different problems.  Both provide tremendous storage capacity, but
  118. CD-ROMs appear to the user to be read-only, while WORMs appear to
  119. provide read and write access.  Nevertheless, on WORMs, writing to a
  120. file means either appending characters to a pre-allocated chunk of
  121. disk, or rewriting a new version of the file in a new place.  Once a
  122. file, or file version, is discarded, the piece of the physical medium
  123. it's stored on is forever lost, not released for re-use.  CD-ROMs are
  124. for storing the Encyclopedia Britannica; WORMs are for storing
  125. backups.  ]
  126.  
  127. Our basic choice is between what I call the scattered directory tree,
  128. which is much like the standard, UNIX file system, and path tables
  129. (linearized encodings of the tree structure).  ISO 9660 supports both.
  130. Scattered directories are simpler to deal with and somewhat easier to
  131. update, but probably slow to access because they require too much
  132. seeking.  Path tables seem faster at first glance (large contiguous
  133. reads, etc.), but their simplicity and speed seem to evaporate when
  134. the tables are modified.  There is no consensus on which method to
  135. use.  I originally held out for two methods, a flexible one and a
  136. really fast one, but have come to the conclusion, reinforced by
  137. conversations with Ken Thompson, that it is better to have one
  138. flexible method in the standard -- scattered directories --  and
  139. handle accelerators, such as directory trees cached on magnetic disk,
  140. as system-dependent structures outside the standard.
  141.  
  142. Suppose you update a file; doesn't that mean you also have to re-write
  143. the directory, and, therefore, its parent directory, and, therefore,
  144. its parent directory, and so on all the way up to the root directory?
  145. And the volume header?  How do you find the root directory, the volume
  146. header, and so on?  This stuff is not yet decided but we envision that
  147. the file description stuff will have preallocated spare space so that
  148. a few updates can be done without changing anything outside the file
  149. description.  Once this space is full, the system will have to get
  150. free space elsewhere, which implies updating some other area
  151. describing the free space.  The volume header is in a fixed location
  152. (probably 8KB in from the start of media) and will point to any later
  153. volume headers and other stuff (such as where the root of the various
  154. directory trees are).
  155.  
  156. Requirements for the directory hierarchy include space and time
  157. efficiency, robustness (e.g., to minimize damage from a single I/O
  158. error), a single, fast structure (unlike ISO 9660's two), and that a
  159. directory entry for a file must be complete (that is, point to all the
  160. extents for that file).
  161.  
  162. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  163.  
  164.  
  165.                                 - 4 -
  166.  
  167. Space Allocation and Management
  168.  
  169. We must support pre-allocation of space (e.g., ``Reserve 40MB of
  170. contiguous space for file `xyz'. '') both for speed and to support
  171. systems like the MacIntosh.  Because of the latter, we also need to
  172. support giving back unused reserved space for later use.
  173.  
  174. These two requirements appear to force the standard to address
  175. describing the free space in a volume set, which will also be
  176. important if the standard is extended to cover R/W optical disks,
  177. where freed blocks need to be cleared before reuse.  The two choices
  178. appear to be run-length encodings of the free space or bitmap
  179. techniques.  The former can degrade to being quite large, while the
  180. latter have a fixed, but high, overhead (current media hold up to
  181. 8.2GB/side!).
  182.  
  183. Finale
  184.  
  185. We hope to conduct a letter ballot soon after the October, 1990
  186. meeting.  If we can approve a proposal by January, 1991 then it may be
  187. an ANSI standard by January, 1992.  Our next meeting is in Murray
  188. Hill, New Jersey, on July 17-19, where we expect to adopt the proposal
  189. being edited by Howard Kaikow as our working proposal.  Anyone
  190. interested in attending should contact either the chairman, Ed Beshore
  191. (edb@hpgrla.hp.com), or me (andrew@research.att.com).
  192.  
  193. While this standard may seem of limited interest, because it deals
  194. only with WORMs, X3B11.1 expects approval shortly to develop a similar
  195. standard for R/W optical media.  It doesn't take much imagination to
  196. see that standard being extended to apply to all rewritable, direct-
  197. access media.  (Unlike the CD-ROM standards committee, which ignored
  198. UNIX, this committee has a significant number of UNIX users, including
  199. representatives from AT&T Bell Labs, Sun, Hewlett-Packard.  That, at
  200. least, insures filenames won't be required to have a compulsory
  201. three-character suffix and a version number.) Once we have a working
  202. paper, anyone who cares about portable, multi-volume, multiple-
  203. character-set file systems should take a look.  [Editor: Pay
  204. attention.  He's giving you fair warning.]
  205.  
  206. May 1990 Standards Update              ANSI X3B11.1: WORM File Systems
  207.  
  208.  
  209. Volume-Number: Volume 20, Number 4
  210.  
  211.