This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eryksun
Recipients eryksun, jkloth, paul.moore, steve.dower, tim.golden, vstinner, zach.ware
Date 2016-03-29.06:40:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1459233651.74.0.873932090831.issue26658@psf.upfronthosting.co.za>
In-reply-to
Content
> I'm inclined to believe that this is a bug in the ImDisk device driver

Junctions, and other filesystem reparse points, are implemented by volume devices, not disk devices. NTFS and ReFS support reparse points, but FAT, FAT32, and exFAT do not. Does the current filesystem claim to support reparse points? Here's how to check this:

    import ctypes
    kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)

    FILE_SUPPORTS_REPARSE_POINTS = 0x00000080

    def volume_supports_reparse_points(root_path):
        flags = ctypes.c_uint()
        if not kernel32.GetVolumeInformationW(root_path,
                                              None, 0, None, None,
                                              ctypes.byref(flags),
                                              None , 0):
            raise ctypes.WinError(ctypes.get_last_error())
        return bool(flags.value & FILE_SUPPORTS_REPARSE_POINTS)

For example:

    >>> volume_supports_reparse_points('C:\\')
    True

Win32JunctionTests creates a junction to the "Lib/test" directory in the current directory. It should create a temporary target directory instead of using "Lib/test". 

I installed ImDisk Virtual Disk 2.0.9 and was able to create a valid junction on an NTFS RAM disk. What are the steps required to reproduce the problem?
History
Date User Action Args
2016-03-29 06:40:51eryksunsetrecipients: + eryksun, paul.moore, vstinner, tim.golden, jkloth, zach.ware, steve.dower
2016-03-29 06:40:51eryksunsetmessageid: <1459233651.74.0.873932090831.issue26658@psf.upfronthosting.co.za>
2016-03-29 06:40:51eryksunlinkissue26658 messages
2016-03-29 06:40:50eryksuncreate