Eryk Sun added the comment: > 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? ---------- nosy: +eryksun _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26658> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com