Updated ncpfs snapshot for 2.1.61

Bill Hawes (whawes@star.net)
Sun, 02 Nov 1997 11:10:58 -0500


This is a multi-part message in MIME format.
--------------F533C2E9B757E25AFBBCC13D
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I've attached an updated snapshot for 2.1.61 ncpfs. Things are
improving step by step -- file creation works now, and I've added code
to close files when the dentry count goes to 0, so as not to use up
filehandles on the server.

I've suppressed the "bad select" message, as it didn't seem to be a
problem, and have also reworked the unlink code a bit.

Thanks to Daniel Haun for the helpful log messages for the first
snapshot.

Regards,
Bill
--------------F533C2E9B757E25AFBBCC13D
Content-Type: application/x-gzip; name="ncpfs_61-patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="ncpfs_61-patch.gz"

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
/wIrIdcol6gAAA==
--------------F533C2E9B757E25AFBBCC13D--