develooper Front page | perl.perl5.porters | Postings from April 2019

Re: [perl #133754] Test failures on Windows with 8.3 filenamesdisabled

Thread Previous | Thread Next
From:
Richard Leach
Date:
April 4, 2019 19:54
Subject:
Re: [perl #133754] Test failures on Windows with 8.3 filenamesdisabled
Message ID:
CADWSe2fT95bzdx3s72Z=Qm3TZZfEiCEoNOybD3qxLG7VDfeWKA@mail.gmail.com
On Mon, Jan 7, 2019 at 1:37 PM Steve Hay (via RT)
<perlbug-followup@perl.org> wrote:
> If I run the test suite on my C: drive then all tests pass, but on my
> D: drive I get a bunch of failures:
>
> ...
> The difference seems to be that 8.3 filenames are disabled on my D:
> drive, as I can see using the fsutil.exe program:
> ...
> It is possible to query the registry, but if (as on my system) the
> setting has been made per-volume rather than globally on or off then
> I'm not sure exactly which settings need querying:

Hi Steve,

The per-volume setting doesn't appear to be stored in the Registry
(based on use of Procmon on a test VM). Instead, it's stored in the
FILE_FS_PERSISTENT_VOLUME_INFORMATION structure [1], intended to be
queried with the NtFsControlFile function [2]

There are a few online discussions where people advise using
GetVolumeInformation (which underpins Win32::FsType), but that advice
seems to be bogus. [3]

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/ntifs/ns-ntifs-_file_fs_persistent_volume_information
[2] https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/d4bc551b-7aaf-4b4f-ba0e-3a75e7c528f0
[3] https://stackoverflow.com/questions/18479322/how-to-check-programatically-that-8-3-short-path-name-is-enabled-on-system

HTH,
Rich

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About