lkml.org 
[lkml]   [2000]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectBug in UMSDOS, was: Re: Bug in DOSFS_ReadDir?
Hallo,

as David Parker ( and another person) found out, UMSDOS filesystems
show broken behaviour under Wine ( at least up to 2.2.16). File and
Directory creation is inconsistant when filenames outside the FAT 8.3
namedomain is involved.
This is caused be UMSDOS misbehaving:
UMSDOS does not store the long filename in the area reserved for long
filenames in VFAT. As long as one doesn't want to mount the filesystem
at a later time with VFAT, this wouldn't disturb to much. However
UMSDOS forwards all unknown IOCTLs to the MSDOS base driver. This is
where the problem happens. Wine uses the VFAT_IOCTL_READDIR_BOTH ioctl
to retrieve both the short and long filename and gets an invaild long
filename.

Short range fix:

- Add the VFAT_IOCTL_READDIR_BOTH ioctl to the list of ioctls not
passed to MSDOS fs driver.
That way Wine get's a failure on the try to use the
VFAT_IOCTL_READDIR_BOTH ioctl and handles things like on ext2.
A fix is appended.

Right fix:
- Do not only store the long filename in the --linux-.--- file but
also in the VFAT longfilename area.

Is anyone mantaining the UMSDOS filesystem?

Bye

Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Free Software: If you contribute nothing, expect nothing
--
--- linux/fs/umsdos/ioctl.c~ Tue Jan 4 19:12:24 2000
+++ linux/fs/umsdos/ioctl.c Tue Aug 8 22:36:16 2000
@@ -92,7 +92,8 @@
&& cmd != UMSDOS_UNLINK_DOS
&& cmd != UMSDOS_RMDIR_DOS
&& cmd != UMSDOS_STAT_DOS
- && cmd != UMSDOS_DOS_SETUP)
+ && cmd != UMSDOS_DOS_SETUP
+ && cmd != VFAT_IOCTL_READDIR_BOTH)
return fat_dir_ioctl (dir, filp, cmd, data_ptr);

/* #Specification: ioctl / acces
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:58    [W:0.021 / U:1.308 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site