On 8/26/16, 4:59 PM, cygwin-ow...@cygwin.com Bill Zissimopoulos wrote:
>On 8/26/16, 11:05 AM, Corinna Vinschen wrote:
>>On Aug 25 19:04, Bill Zissimopoulos wrote:
>>>- The first case is during the processing of NtCreateFile (without the
>>> FILE_OPEN_REPARSE_POINT flag set).
>>This case doesn't matter to us. Cygwin always opens the file with
>>> - The second case is through direct manipulation of the reparse point
>>> using FSCTL_GET_REPARSE_POINT, FSCTL_SET_REPARSE_POINT and
>>> Let us consider the expected behavior of an NFS_SPECFILE_LNK reparse
>>> (this is speculation) during NtCreateFile:
>>> - On NTFS prior to Win8:
>>> - STATUS_IO_REPARSE_TAG_NOT_HANDLED
>>...so this shouldn't happen to us, right?
>I think so.
>I will continue with the implementation/testing of reparse points and
>report back when I have more.
I have finally completed the implementation of reparse points for WinFsp.
I have also implemented NFS reparse point support for WinFsp-FUSE.
I tested this implementation with Cygwin although my testing was general
command line use and not rigorous. For this purpose I cobbled together a
patch for Cygwin; the patch is low quality and I hesitate to post it here,
but I can if so desired. Effectively I changed the implementation of
Cygwin’s mknod_worker, symlink_info::check_reparse_point and
readdir_check_reparse_point to understand and use NFS reparse points.
I am unclear on how to proceed from here. Although I do not understand the
Cygwin internals well enough and have rather limited time at the moment I
could try cleaning up the patch and officially submitting.
I am also thinking that using reparse points for POSIX special files on
other file systems that support it (i.e. NTFS) may be something that the
list should consider.