[OpenAFS-devel] Re: Avoid mixed use of Win32/CRTL in the servers

Rod Widdowson rdw@steadingsoftware.com
Wed, 19 Jan 2011 09:51:31 -0000


> On Windows the C Run Time Library functions such as fopen() and open() are implemented using a very
> restricted set of Win32 APIs CreateFile, ReadFile, WriteFile, CloseHandle, etc. and modes such that
> not only is performance horrible but the currently documented functionality can't possibly work.  For
> example, in namei_ops.c, there are a couple of locations where it is stated that nt_unlink() is used
> in order to permit a file to be marked for deletion while it is in use.  Since the file is in use as a
> result of an fopen() or open() CRT library call, it is not possible to mark the file for delete on
> close.  This is because those libraries do not call CreateFile() with the DELETE privilege and
> FILE_SHARE_DELETE lock option.

Thanks Jeff. Apologies for not being clearer...