Author: pschweitzer
Date: Sun Dec  7 14:05:47 2014
New Revision: 65580

URL: http://svn.reactos.org/svn/reactos?rev=65580&view=rev
Log:
[NTFS]
Allow direct opening of a reparse point, but don't handle yet reparse itself

Modified:
    trunk/reactos/drivers/filesystems/ntfs/create.c

Modified: trunk/reactos/drivers/filesystems/ntfs/create.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/create.c?rev=65580&r1=65579&r2=65580&view=diff
==============================================================================
--- trunk/reactos/drivers/filesystems/ntfs/create.c     [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/ntfs/create.c     [iso-8859-1] Sun Dec  7 
14:05:47 2014
@@ -245,6 +245,23 @@
             return STATUS_NOT_A_DIRECTORY;
         }
 
+        /* Properly handle reparse points:
+         * - likely overwrite FO name
+         * - return STATUS_REPARSE to IO manager
+         * - Do we have to attach reparse data to 
Irp->Tail.Overlay.AuxiliaryBuffer?
+         * See: http://www.osronline.com/showThread.cfm?link=6623
+         *
+         * If it is a reparse point & FILE_OPEN_REPARSE_POINT, then allow 
opening it
+         * as a normal file.
+         */
+        if (NtfsFCBIsReparsePoint(Fcb) &&
+            ((RequestedOptions & FILE_OPEN_REPARSE_POINT) != 
FILE_OPEN_REPARSE_POINT))
+        {
+            DPRINT1("Reparse point not handled!\n");
+            NtfsCloseFile(DeviceExt, FileObject);
+            return STATUS_NOT_IMPLEMENTED;
+        }
+
         /* HUGLY HACK: remain RO so far... */
         if (RequestedDisposition == FILE_OVERWRITE ||
             RequestedDisposition == FILE_OVERWRITE_IF ||


Reply via email to