Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!iuvax!purdue!tut.cis.ohio-state.edu!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: Soft links vs hard links (was Re: yet another 1.4 request) Message-ID: <8907051932.AA04349@postgres.Berkeley.EDU> Date: 5 Jul 89 19:32:17 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 51 :In article <18191@usc.edu> papa@pollux.usc.edu (Marco Papa) writes: :>After the recent flurry of messages about "hardlinks vs. softlinks" let me :>give my 5 cents: :> :>* If CBM has to chose between including hardlinks and softlinks for 1.4, it :> is clear that softlinks should be chosen: they are CLEARLY easier to :> implement, and seem to be enough for 99% of the cases. :>-- Marco Papa 'Doc' : :I hate to pop your bubble on this, but from the standpoint of writing an :AmigaDos filing system (and experience to back it :-) softlinks are :*SIGNIFICANTLY* more difficult to implement than hardlinks. With :softlinks, the file system needs to be able to communicate with other :filing systems *ASYNCHRONOUSLY*. This is an important point because I thought of it. It turns out that in all the cases I could think of you would simply ROUTE the packet to the -other- handler... you would NOT have to deal with any responses from the other handler, it would respond directly back to the user process (or route the packet again, etc...). This would require on that the *Arg? (any argument in the packet which holds a filename) to be a static buffer which can be modified... *extremely* easy to do since we are buffered by library routines. :Look at how long it took Bill Hawes to get Pathman correct - there are :many loopholes to be handled and some subtle interactions. That was a different problem... he had to deal with ExNext() didn't he? Totally different. Examine()/ExNext() was never implemented correctly in the first place.. you didn't know when the user process was done ExNext()ing. :At a minimum we are talking a solid month of work including testing of :all the obscure situations (like deleting the linked object in the middle :of two ExNext() sequences) to put in hard links. To implement softlinks :I would put that estimate between 2 and 3 months because of all the :interactions of handlers and the potential for reving other handlers. For a hard link or a softlink? For a softlink at least there is no problem... you are simply deleting the softlink itself just like a normal file. I think this goes for a hardlink too, maybe... not sure. :-- : |0|\ John A. Toebes, VIII usenet:..mcnc!rti!sas!toebes : |.|/ Coordinator of The Software Distillery BBS: (919)-471-6436 : === Bix: JTOEBES Plink: JTOEBES CI$:"sorry Charlie" -Matt