home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / v20 / repdir / x3b11.1 < prev    next >
Internet Message Format  |  1990-08-02  |  10KB

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