home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / v21 / 116 < prev    next >
Internet Message Format  |  1990-12-05  |  10KB

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