Treat supermount filesystems as CDs

Francois Gouget fgouget at codeweavers.com
Wed May 24 19:18:45 CDT 2006


Mandrake systems use supermount to auto-mount the CD and floppy drives. 
Because of this fstatfs() returns a special filesystem type which then 
causes Wine to treat them as hard drives. There are two issues with that:
  * Wine opens executables and dlls directly on the CD which causes it 
to be locked which make multi-cd installations impossible.
  * Applications that check their install media get told it's a 
hard-drive and may refuse to install because of that.

So this patch modifies FILE_GetDeviceInfo() so it treats supermount as a 
CD filesystem. This means supermount floppies will look like CDs too, 
but that's better than having them look like non-removable hard-drives. 
Plus FILE_GetDeviceInfo() has no way to say a device is a floppy anyway.


Changelog:

  * dlls/ntdll/file.c
    Francois Gouget <fgouget at codeweavers.com>
    Return FILE_DEVICE_CD_ROM_FILE_SYSTEM for supermount filesystems.

-- 
Francois Gouget
fgouget at codeweavers.com

-------------- next part --------------
Index: dlls/ntdll/file.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/file.c,v
retrieving revision 1.120
diff -u -p -r1.120 file.c
--- dlls/ntdll/file.c	10 May 2006 17:58:45 -0000	1.120
+++ dlls/ntdll/file.c	23 May 2006 15:24:29 -0000
@@ -1579,6 +1579,7 @@ NTSTATUS FILE_GetDeviceInfo( int fd, FIL
         switch (stfs.f_type)
         {
         case 0x9660:      /* iso9660 */
+        case 0x9fa1:      /* supermount */
         case 0x15013346:  /* udf */
             info->DeviceType = FILE_DEVICE_CD_ROM_FILE_SYSTEM;
             info->Characteristics |= FILE_REMOVABLE_MEDIA|FILE_READ_ONLY_DEVICE;


More information about the wine-patches mailing list