Bug 8383 - msdosfs wipes out NT VFAT lower case flags
Summary: msdosfs wipes out NT VFAT lower case flags
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 2.2.7-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: dt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1998-10-20 17:00 UTC by cmascott
Modified: 1998-12-13 21:06 UTC (History)
0 users

See Also:


Attachments
file.diff (7.38 KB, patch)
1998-10-20 17:00 UTC, cmascott
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description cmascott 1998-10-20 17:00:00 UTC
The accompanying patch fixes the following three bugs in msdosfs:

1. When msdosfs updates an NT VFAT DOS (short name) directory entry
   it unconditionally clears the lower case flags (in the byte
   immediately following the file attributes).  Thus all NT VFAT
   files with short names when accessed by msdosfs have their NT
   names converted to upper case.

2. msdosfs does not use the NT VFAT lower case flags when converting
   a short name from DOS to UNIX (with -l in effect).  Thus files
   that have short lower case names on NT get upper case names on UNIX.

3. msdosfs updates access times even if the filesystem is mounted
   with "noatime".

Problems #1 and #2 occur because msdosfs is unaware of the
presence of the NT VFAT lower case flags in the directory entry.

NOTE: The Windows 9x VFAT implementation does not use or recognize
      the NT VFAT lower case flags.  Thus it would not be a good
      idea to modify msdosfs to use these flags when creating a
      short lower case filename.

Fix: Apply this patch.

--------------------------- (cut here) ------------------------------
How-To-Repeat: 
Mount an NT VFAT filesystem with -l.
Copy a file with a short lower case (on NT) name.
Comment 1 dt freebsd_committer freebsd_triage 1998-10-21 20:02:45 UTC
Responsible Changed
From-To: freebsd-bugs->dt

I will look at it. 
Comment 2 dt freebsd_committer freebsd_triage 1998-12-13 21:05:52 UTC
State Changed
From-To: open->closed

Comitted, thanks.