Author: pschweitzer Date: Sat Jun 3 18:29:44 2017 New Revision: 74781
URL: http://svn.reactos.org/svn/reactos?rev=74781&view=rev Log: [UDFS] Our current storage stack iteration considers that any CDROM is read-only and forces it. Reflect that fact in UDFS; we cannot assume that our device won't be readonly.
CORE-4375
Modified: trunk/reactos/drivers/filesystems/udfs/volinfo.cpp
Modified: trunk/reactos/drivers/filesystems/udfs/volinfo.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/udfs/vo... ============================================================================== --- trunk/reactos/drivers/filesystems/udfs/volinfo.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/udfs/volinfo.cpp [iso-8859-1] Sat Jun 3 18:29:44 2017 @@ -462,8 +462,15 @@
KdPrint((" UDFQueryFsDeviceInfo: \n")); // Update the output buffer. - ASSERT(! (Vcb->TargetDeviceObject->Characteristics & (FILE_READ_ONLY_DEVICE | FILE_WRITE_ONCE_MEDIA))); - Buffer->Characteristics = Vcb->TargetDeviceObject->Characteristics & ~(FILE_READ_ONLY_DEVICE | FILE_WRITE_ONCE_MEDIA); + if (Vcb->TargetDeviceObject->DeviceType != FILE_DEVICE_CD_ROM && Vcb->TargetDeviceObject->DeviceType != FILE_DEVICE_DVD) + { + ASSERT(! (Vcb->TargetDeviceObject->Characteristics & (FILE_READ_ONLY_DEVICE | FILE_WRITE_ONCE_MEDIA))); + Buffer->Characteristics = Vcb->TargetDeviceObject->Characteristics & ~(FILE_READ_ONLY_DEVICE | FILE_WRITE_ONCE_MEDIA); + } + else + { + Buffer->Characteristics = Vcb->TargetDeviceObject->Characteristics; + } Buffer->DeviceType = Vcb->TargetDeviceObject->DeviceType; KdPrint((" Characteristics %x, DeviceType %x\n", Buffer->Characteristics, Buffer->DeviceType)); // Adjust the length variable