[comp.sys.apollo] "PC NFS - Apollo Bug

agq@itd1.dsto.oz (Ashley Quick) (01/30/91)

Sorry about the lack of reference: our news system ages stuff out very
quickly.

Somebody was complaining that using PCNFS to "DEL *.*" on a large
mounted filesystem would leave 6 files of 70 behind.

This is not new.

I have seen this behaviour on:
   VAX/VMS with ULTRIX connection
   SUN 3
   VAX/VMS with Wollongong TCP/IP
   Apollo

Reason:

   When you DEL *.* on a PC, the underlying request removes all directory
entries. This is done not by deleting each individual file, but by
clobbering the lot wholesale, and freeing their space. (Try DEL *.* compared
to using a utility like Norton Commander or XTREE with every file marked
for deletion. The DEL *.* is MUCH faster!) This is pure supposition,
but the most plausible thing I know of.

  When a mounted filesystem is used, the DEL *.* request must generate a
lookup request for each file name, then delete it. This appears to go on
at some level after setting a timer in the PC. It happily thrashes away
deleting files, and after exactly 10 seconds, it stops. Even if all of the
files are not deleted. This happens irrespective of the host. My guess is
that it is the PC which screw up.

  I have seen a DEL *.* need to be issued three times to clean up a very
big directory. In all cases, the  command times out after 10 seconds.

  If you try this several times, you should see that number of files left
varies a bit - due to variations (due to load) in the time the host takes
to delete a file.



There is NOTHING that you can do about it, except to remember the golden
rules of PCs:
    1.  If you pay peanuts, you get monkeys
    2.  PCs were not designed for networking - anything added on later
        is a fudge and will contain funnies.




Ashleigh Quick
Ashleigh Quick                             | ACSnet: AGQ@dstos3.dsto.oz
Defence Science and Technology Organisation| Internet: AGQ@dstos3.dsto.oz.au
PO Box 1600                                | Phone: (Intl) (+61 8) 259 6975
Salisbury 5108      AUSTRALIA              |        (Local) (08) 259 6975