https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e359a3c8881b1ebb1a960…
commit e359a3c8881b1ebb1a96080ba456c94d7f17f95c
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Sat Oct 19 16:53:45 2019 +0200
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Sat Oct 19 16:59:58 2019 +0200
[MOUNTMGR] Fix interpretation of QueryDeviceInformation GptDriveLetter
Being TRUE doesn't mean the device is GPT and has a drive letter. It just
means that it's not a GPT device with GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER
attribute. In short, if TRUE, it means that the device can receive a drive
letter mount point.
This fixes MountMgrNextDriveLetterWorker bailing out for any attempt to
assign a drive letter to a device.
---
drivers/filters/mountmgr/device.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/filters/mountmgr/device.c b/drivers/filters/mountmgr/device.c
index 4f3f9d2974e..ec9a04d063d 100644
--- a/drivers/filters/mountmgr/device.c
+++ b/drivers/filters/mountmgr/device.c
@@ -524,11 +524,12 @@ MountMgrNextDriveLetterWorker(IN PDEVICE_EXTENSION DeviceExtension,
}
/* If we didn't find a drive letter online
- * ensure there's no GPT drive letter nor no drive entry
+ * ensure this is not a no drive entry
+ * by querying GPT attributes & database
*/
if (NextEntry == &(DeviceInformation->SymbolicLinksListHead))
{
- if (GptDriveLetter || HasNoDriveLetterEntry(DeviceInformation->UniqueId))
+ if (!GptDriveLetter || HasNoDriveLetterEntry(DeviceInformation->UniqueId))
{
DriveLetterInfo->DriveLetterWasAssigned = FALSE;
DriveLetterInfo->CurrentDriveLetter = 0;