Date: Sat, 19 Nov 2005 08:48:55 -0500 From: Craig Rodrigues <rodrigc@crodrigues.org> To: Rainer Hurling <rhurlin@gwdg.de> Cc: freebsd-current@freebsd.org Subject: Re: mount_msdosfs and longnames Message-ID: <20051119134855.GA17536@crodrigues.org> In-Reply-To: <437EEBBF.5040601@gwdg.de> References: <437E1477.7030902@gwdg.de> <20051118190448.GA6870@crodrigues.org> <437E542C.5070602@gwdg.de> <20051118224317.GA8018@crodrigues.org> <437EEBBF.5040601@gwdg.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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@crodrigues.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051119134855.GA17536>