home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.21 / text0115.txt < prev    next >
Encoding:
Text File  |  1990-10-26  |  9.3 KB  |  211 lines

  1. Submitted-by: jsh@usenix.org (Jeffrey S. Haemer)
  2.  
  3.            An Update on UNIX*-Related Standards Activities
  4.  
  5.                             September 1990
  6.  
  7.                  USENIX Standards Watchdog Committee
  8.  
  9.           Jeffrey S. Haemer <jsh@usenix.org>, Report Editor
  10.  
  11. ANSI X3B11.1: WORM File Systems
  12.  
  13. Andrew Hume <andrew@research.att.com> reports on the July 17-19, 1990.
  14. meeting in Murray Hill, NJ:
  15.  
  16. Introduction
  17.  
  18. X3B11.1 is working on a standard for file interchange on write-once
  19. media (both sequential and non-sequential (random access)): a portable
  20. file system for WORMs.  The fifth meeting was held at Murray Hill, NJ
  21. on July 17-19, 1990.  We adopted a working paper and set to work on a
  22. list of issues suggested by the chair.
  23.  
  24. Data Compression
  25.  
  26. Despite the huge capacities of WORM disks, people always want more.
  27. Data compression is an easy way to supply more, and on current machine
  28. architectures, probably can speed data access by trading CPU cycles
  29. for I/O bandwidth.  Its main problem is that you need to support more
  30. than one algorithm and thus, you need some way to specify algorithms.
  31. This is a purely administrative issue, but luckily, it appears that X3
  32. may soon act as a registry for compression algorithms (driven by the
  33. need to register compression algorithms for IBM 3840 cartridge tape
  34. work in X3B5).  (How does this fit in with the rumblings about
  35. compress from POSIX.2?  I'm not certain.  I think part of becoming
  36. part of the register means giving up patent rights or allowing liberal
  37. licensing, but maybe not.  After all, the CD formats are now an ISO
  38. standard, but I still think you have to be licensed to make them.)
  39.  
  40. Path Tables and Extended Attributes
  41.  
  42. Path tables were removed from the working paper.  We agreed to support
  43. hard and symbolic links.  The next question was how to handle
  44. ``secret'' files: files primarily intended for system use.  Examples
  45. might include the file describing free space, associated files (like
  46. the resource fork of a Macintosh file), and extended attributes (of a
  47. Microsoft HPFS file).  We agreed that the latter two cases should be
  48. handled by regular files that probably are not in the directory tree
  49.  
  50. __________
  51.  
  52.   * UNIXTM is a Registered Trademark of UNIX System Laboratories in
  53.     the United States and other countries.
  54.  
  55. September 1990 Standards Update        ANSI X3B11.1: WORM File Systems
  56.  
  57.  
  58.                 - 2 -
  59.  
  60. but are pointed to by the ``inode'' for a file.  (Note that this
  61. implies there is a way to scan all the files in a volume set without
  62. traversing the directory tree(s), analogous to running down the inodes
  63. in UNIX.)
  64.  
  65. Given this, we have decided to support extended attributes as a
  66. ``secret'' or system file (and probably include pointers to things
  67. like resource forks as those attributes).  This also gives us an
  68. extensible way of handling non-standard or non-essential inode fields.
  69. One of the important tasks remaining is to decide which fields are
  70. more-or-less mandatory (such as modify time, owner) and which can
  71. safely be pushed off into the extended attributes (access control
  72. lists, file valid after date).  Please send us your suggestions!
  73.  
  74. Space Allocation and Management
  75.  
  76. We agreed that we have to support preallocating space for files,
  77. freeing some or all of that space and then reusing that space for
  78. other files.  After much discussion about extent lists and bit maps,
  79. we compromised on a scheme based on extent lists (the details to be
  80. worked by the working paper editor).  The idea is that is that the
  81. free space is described by an extent list (of small but specifiable
  82. size) of the ``best'' (probably largest) free spaces, and if this
  83. overflows, ``worst'' free spaces are added to a system file
  84. representing all the free spaces not in the above extent list.
  85.  
  86. Checksums
  87.  
  88. It was decided that all system data structures would include a 16 bit
  89. checksum (CRC-16).  We anticipate that most errors would be transient
  90. (cabling or memory) and not be media errors.
  91.  
  92. Multi-Volume Sets
  93.  
  94. I had thought the last meeting had settled just about all the
  95. questions about multi-volume sets; I was wrong.  It took most of a day
  96. to agree on these.
  97.  
  98.    - You have to have the last volume in order to grok the whole
  99.      volume set (access any/all of the directories and files).
  100.  
  101.    - You can extend volume sets at any time.  This and the last item
  102.      taken together imply the existence of ``terminal'' volumes (which
  103.      can act as master volumes of a volume set) and ``nonterminal''
  104.      volumes (the rest).  For example, if I extend a single-volume
  105.      volume set by two volumes, then volumes 1 and 3 are terminal and
  106.      volume 2 is not.
  107.  
  108.    - You can extract file data from any volume by itself.  This is
  109.      meant only for disaster recovery (I dropped the master volume
  110.      down the stairwell) and doesn't imply any requirements on
  111.  
  112. September 1990 Standards Update        ANSI X3B11.1: WORM File Systems
  113.  
  114.  
  115.                 - 3 -
  116.  
  117.      directory tree information (much as fsck restores unattached
  118.      inodes to /lost+found).
  119.  
  120.    - Volumes can refer to data (say, extents) on other volumes (both
  121.      earlier and later volumes).  Preallocated space on any volume in
  122.      a volume set can be returned for future reuse.
  123.  
  124.    - The address space of logical blocks for the volume set will be 48
  125.      bits; 16 bits for the volume number and 32 bits for the logical
  126.      block number within a volume.  Media can be big (200GB helical
  127.      scan media exist now) so 32 bits may seem barely big enough, but
  128.      in such cases you can use a big logical block size.  For example,
  129.      a logical block size of 16KB implies a limit of 64 terabytes per
  130.      volume; this should be ample for a few years.
  131.  
  132. Defect Management
  133.  
  134. We spent a lot of time on this and learned a lot, but basically put it
  135. off to the next meeting.  What we mean by ``defect management'' is
  136. ``How do we deal with write errors from the file system's point of
  137. view?'' (We ignore the disk controller and the device driver, both of
  138. which do some unknown amount of more-or-less transparent error
  139. management.)
  140.  
  141. We discussed the ``sane'' approach: insert a layer between the file
  142. system that handles errors, allowing the file-system code to assume an
  143. error-free interface.  This apparently good idea is ruled out by
  144. slip-sectoring, a (to my mind bogus) technique, which says, ``if
  145. writing block n fails, then try subsequent blocks (n+1, n+2, ...)
  146. until we succeed.'' Slip-sectoring is mainly used to enhance
  147. performance (it does ensure that blocks are more-or-less contiguous),
  148. and some disk controllers use it as their error-management technique.
  149. (This really screws up your logical address space; it is legitimate
  150. for a SCSI disk, your typical error-free, logical-address-space disk
  151. interface, to write logical block 5 at physical block 5, then logical
  152. block 1 at physical block 4 (1-3 were write errors), then disallow I/O
  153. to logical blocks 2,3, and 4 because there is no place to put them -
  154. these blocks just vanish!)
  155.  
  156. As preparation for the next meeting, Don Crouse, who deals mainly with
  157. high-end machines like Crays and large IBMs, is writing a position
  158. paper on performance, and members of the committee, many of whom are
  159. drive manufacturers or integrators, are collecting estimates of error
  160. rates we have to deal with.  (This matters; I see one bad block out of
  161. 100,000, but some people have used drives with a bad block in every
  162. 100.) The problem is that WORMs have really slow seek times, and when
  163. you are pouring a 50MB/s Cray channel at a set of WORMs, you can't
  164. afford to spend 1-2 seconds seeking to the bad block area.  I
  165. personally think we should just do regular bad-block mapping (like
  166. most SMD disk drivers) out of a special system file, and people with
  167. performance concerns should arrange to have this space spread over the
  168. disk.
  169.  
  170. September 1990 Standards Update        ANSI X3B11.1: WORM File Systems
  171.  
  172.  
  173.                 - 4 -
  174.  
  175. Endian-ness
  176.  
  177. A poll was taken of who really cared which way integer fields were
  178. stored; the results were LSB - 1, MSB - 1, Don't Care - 11.  It is
  179. awkward to specify one of LSB and MSB; this puts half the systems out
  180. there at a competitive (performance) disadvantage (though I am
  181. skeptical of whether it's significant).  Even though we're specifying
  182. an interchange standard, the group felt that most interchange would be
  183. between systems of the same endian-ness, so we should, somehow, allow
  184. native byte order.  Accordingly, we agreed that endian-ness will be
  185. specified in the volume header (for the whole volume set).  In
  186. retrospect, I think this was silly; we should have just picked one
  187. way.  In order that everyone important be evenly disadvantaged, we
  188. could have used some byte order like 3-0-1-2 that no one uses.
  189.  
  190. Finale
  191.  
  192. The committee is trying to nail down a firm proposal for balloting.
  193. We anticipate a substantial amount of change at the next meeting (Oct
  194. 16-18 in Nashua, NH) and have reserved time (Dec 11-13, but no place)
  195. for an additional meeting so that we can ballot after the following
  196. meeting (Jan 29-31, Bay area).  We now have a working paper (available
  197. by the end of September or so); I think it likely we can meet this
  198. schedule, but who knows.
  199.  
  200. Anyone interested in attending any of the above meetings should
  201. contact either the chairman, Ed Beshore (edb@hpgrla.hp.com), or me
  202. (andrew@research.att.com, research!andrew, (908)582-6262).  I am also
  203. soliciting your comments on necessary inode fields and defect
  204. management.  I will present anything you give me at the next meeting.
  205.  
  206. September 1990 Standards Update        ANSI X3B11.1: WORM File Systems
  207.  
  208.  
  209. Volume-Number: Volume 21, Number 116
  210.  
  211.