home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / os / coherent / 3869 < prev    next >
Encoding:
Text File  |  1992-08-20  |  2.6 KB  |  57 lines

  1. Newsgroups: comp.os.coherent
  2. Path: sparky!uunet!news.mentorg.com!analog1!patbob
  3. From: patbob@analog1com (Patrick White - SST)
  4. Subject: Re: 4.0, Low level IO and problems...
  5. Sender: news@news.mentorg.com (News User)
  6. Message-ID: <1992Aug20.201610.16702@news.mentorg.com>
  7. Date: Thu, 20 Aug 1992 20:16:10 GMT
  8. References: <SJE.92Aug14141342@xylos.ma30.bull.com> <9208192524@umunk.GUN.de>
  9. Nntp-Posting-Host: analog1.mentorg.com
  10. Organization: mentor
  11. Keywords: 
  12. Followup-To: 
  13. Lines: 42
  14.  
  15. In article <9208192524@umunk.GUN.de>, udo@umunk.GUN.de (Udo Munk) writes:
  16. |> sje@xylos.ma30.bull.com (Steven J. Edwards) writes:
  17. |> : Undeletes are just too dangerous on Unix-type systems because it's too
  18. |> : hard to guarantee file system integrity when more than one agent is
  19. |> : accessing the same information.  Remeber, the Unix file system
  20. |> : utilities are designed with the thought that only they as a group will
  21. |> : be fiddling with various hidden parts; they often assume that
  22. |> : everything is okay, thus causing human-introduced errors to grow and
  23. |> : expand in avalanche fashion.
  24. |> 
  25. |> There is a save way: substitue rm by a programm, which brings the file
  26. |> to delete into an archive (tar, zip, cpio or whatever). After that the
  27. |> file can be deleted by the new command. Write an undelete command which
  28. |> extracts the file back from the archive, and then removes it from the
  29. |> archive. Of cause this needs more or less diskspace. Take a look onto
  30. |> DR-DOS 6.0, how DRI has solved this problem.
  31.  
  32.     A faster and more efficient way is to have rm make a hard link to the
  33. file in a save directory before it unlinks it.  Much faster than copying bytes.
  34.     Of course, need to make provisions for people removing files of the
  35. same name, and usually want a way to automatically remove old saved files when
  36. need the space on the file system.
  37.  
  38.     I see three ways to implement this:
  39.  
  40.     1) write a new rm.  But this would only save files removed with it.
  41.     2) change the C library unlink() function.  Only things recompiled
  42.        with the new C lib will save files.
  43.     3) rewrite the unlink system call (ie. diddle in the kernel).  This
  44.        would give retroactive file saving to all binaries on the system,
  45.        but requires OS source.  However, doing this also would allow the
  46.        OS file system code to be modified to remove old saved files as
  47.        needed to reclaim filesystem space.
  48.  
  49.     I've seen this done via (1) & (3).  There is a performance loss either
  50. way, but (3) provided the most transparent solution.
  51.  
  52.     I didn't invent these ideas, I've just seen them tried at school.
  53.  
  54.  
  55. later,
  56. Pat White (patbob@techbook.com | patbob@mentorg.com)
  57.