ncpfs unlink() handling question

From: Atro Tossavainen
Date: Fri Dec 21 2007 - 06:20:59 EST


Hello all,

I've just noticed that ncpfs (or rather, NetWare) doesn't implement
POSIX semantics w.r.t. unlink(). Specifically, any operation that
expects, according to POSIX, that the contents of an open but unlink()ed
file should remain available to the application that has it open, such
as

perl -pi -e 's/a/b/;' a_file

on a ncpfs mounted volume causes the contents of the file to be lost,
as unlink() on ncpfs disposes of the file properly right away and the
new file that is written is a 's/a/b/;' of an empty file, hence another
empty file.

I don't know whether there is any (sensible) way to fix this, but I
would like to initiate a discussion on what would be the correct way
for ncpfs to deal with this. I just emptied a whole bunch of files
on our web server this way and was rather surprised about it. Nothing
was lost as the NetWare salvaging mechanism allowed us to rescue every-
thing with a bit of manual labour, and if that hadn't been the case,
we did have it all on tape, but it did catch me off guard... :-)

--
Atro Tossavainen (Mr.) / The Institute of Biotechnology at
Systems Analyst, Techno-Amish & / the University of Helsinki, Finland,
+358-9-19158939 UNIX Dinosaur / employs me, but my opinions are my own.
< URL : http : / / www . helsinki . fi / %7E atossava / > NO FILE ATTACHMENTS
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/