mount_msdosfs and longnames
Craig Rodrigues
rodrigc at crodrigues.org
Sat Nov 19 05:49:23 PST 2005
On Sat, Nov 19, 2005 at 10:09:19AM +0100, Rainer Hurling wrote:
> ... sorry for the late answer but I have to sleep some hours.
>
> I checked out version 1.36 of
> /usr/src/sbin/mount_msdosfs/mount_msdosfs.c and build/install new system.
>
> I am not a developer. What have I to do instead of building/installing
> the whole system when I only want to change a single file?
It depends on the file. To just rebuilt mount_msdosfs, you
can do:
cd /usr/src/sbin/mount_msdosfs
make
make install
> Now the good news: With mounting version 1.36 all FAT32 Filenames are OK
> again :-)
Can you try the following patch, rebuild your kernel,
and try both old *and* new mount_msdosfs programs?
Index: msdosfs_vfsops.c
===================================================================
RCS file: /home/ncvs/src/sys/fs/msdosfs/msdosfs_vfsops.c,v
retrieving revision 1.148
diff -u -u -r1.148 msdosfs_vfsops.c
--- msdosfs_vfsops.c 18 Nov 2005 22:34:31 -0000 1.148
+++ msdosfs_vfsops.c 19 Nov 2005 13:41:36 -0000
@@ -81,7 +81,7 @@
"from",
"export",
"uid", "gid", "mask", "dirmask",
- "shortname", "shortnames", "longname", "longnames", "win95",
+ "shortname", "shortnames", "longname", "longnames", "nowin95", "win95",
"kiconv", "cs_win", "cs_dos", "cs_local",
NULL
};
@@ -172,11 +172,10 @@
vfs_flagopt(mp->mnt_optnew, "kiconv",
&pmp->pm_flags, MSDOSFSMNT_KICONV);
- /* XXX: Can't use flagopt due to negative option */
- if (!vfs_getopt(mp->mnt_optnew, "win95", NULL, NULL))
- pmp->pm_flags &= ~MSDOSFSMNT_NOWIN95;
- else
+ if (vfs_getopt(mp->mnt_optnew, "nowin95", NULL, NULL) == 0)
pmp->pm_flags |= MSDOSFSMNT_NOWIN95;
+ else
+ pmp->pm_flags &= ~MSDOSFSMNT_NOWIN95;
if (pmp->pm_flags & MSDOSFSMNT_NOWIN95)
pmp->pm_flags |= MSDOSFSMNT_SHORTNAME;
--
Craig Rodrigues
rodrigc at crodrigues.org
More information about the freebsd-current
mailing list