[PATCH v7 6/6] kernelbase: Reimplement GetVolumeInformation on top of GetVolumeInformationByHandle.
This patch removes the volume querying information duplication in kernelbase by re-implementing GetVolumeInformation using GetVolumeInformationByHandle (itself implemented with NtQueryVolumeInformationFile). v7: Fix Root_Slash to always use the correct drive letter and don't use FILE_LIST_DIRECTORY v6: No change v5: Rebase against 1b1b6c5f7d28768feb853eefd015aa714b819ed4 v4: Reordered (no content change) v3: No change v2: Reordered (no content change) Best, Erich
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=85515 Your paranoid android. === w2008s64 (32 bit report) === kernel32: volume: Timeout === wvistau64 (64 bit report) === kernel32: volume: Timeout === w2008s64 (64 bit report) === kernel32: volume: Timeout
On Fri, Feb 12, 2021 at 1:55 PM Marvin <testbot(a)winehq.org> wrote:
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=85515 ...
I'm not sure what was going on yesterday, but re-running this job today has no errors: https://testbot.winehq.org/JobDetails.pl?Key=85543 (and nothing changed here should cause timeouts on Windows) Best, Erich
On 2/13/21 10:27 AM, Erich E. Hoover wrote:
On Fri, Feb 12, 2021 at 1:55 PM Marvin <testbot(a)winehq.org> wrote:
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=85515 ...
I'm not sure what was going on yesterday, but re-running this job today has no errors: https://testbot.winehq.org/JobDetails.pl?Key=85543 (and nothing changed here should cause timeouts on Windows)
Best, Erich
I believe the issue was introduced by a66c38370 and fixed by 75030285d.
This fails for me: leslie(a)terabithia:~/git/wine64/dlls/kernel32/tests$ make volume.ok make[1]: Entering directory '/home/leslie/git/wine64' TEST dlls/kernel32/tests/volume.ok 010c:fixme:volume:GetVolumeNameForVolumeMountPointW Mounted Folders are not yet supported volume.c:498: Test failed: GetVolumeInformationA failed on null root dir, last error 5 0058:fixme:mountmgr:harddisk_ioctl returning zero-filled buffer for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS 0058:fixme:mountmgr:query_property Faking StorageDeviceProperty data 010c:fixme:volume:SetVolumeMountPointA ("C:\\winetest_mnt\\", "\\\\?\\Volume{00000000-0000-0000-0000-000000000043}\\"), stub! volume.c:1312: Tests skipped: Not enough permissions to create a mounted folder. make[1]: *** [Makefile:84687: dlls/kernel32/tests/volume.ok] Error 1 make[1]: Leaving directory '/home/leslie/git/wine64' make: *** [Makefile:55: volume.ok] Error 2 A log shows: 00f0:00f4:trace:file:NtCreateFile handle=0x31f4a8 access=80100000 name=L"\\??\\Z:" objattr=00000040 root=(nil) sec=(nil) io=0x31f4c0 alloc_size=(nil) attr=00000000 sharing=00000003 disp=1 opti ons=00000060 ea=(nil).0x00000000 00f0:00f4:trace:file:get_dos_device L"Z:" -> "/dev/sdb1" 00f4: create_file( access=80100000, sharing=00000003, create=1, options=00000060, attrs=00000000, objattr={rootdir=0000,attributes=00000040,sd={},name=L"\\??\\Z:"}, filename="/dev/sdb1" ) 00f4: create_file() = ACCESS_DENIED { handle=0000 } I think we need to keep the fallback path for now, i.e. something like the following: if (status) { nt_name.Length += sizeof(WCHAR); status = NtOpenFile( &handle, SYNCHRONIZE, &attr, &io, 0, FILE_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT ); }
participants (3)
-
Erich E. Hoover -
Marvin -
Zebediah Figura (she/her)