Date: Sun, 17 Apr 2005 04:39:04 -0500 (CDT) From: Mike Silbersack <silby@silby.com> To: David Schultz <das@FreeBSD.ORG> Cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/fs/msdosfs msdosfs_lookup.c Message-ID: <20050417043659.P5292@odysseus.silby.com> In-Reply-To: <20050417032618.GA65952@VARK.MIT.EDU> References: <200504162347.j3GNlJUA010418@repoman.freebsd.org> <20050417014050.GA640@VARK.MIT.EDU> <20050416213839.A694@odysseus.silby.com> <20050417032618.GA65952@VARK.MIT.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 16 Apr 2005, David Schultz wrote: > Cool. By the way, if you want to come up with a better fix, > please feel free. I think the right fix is along the lines of: > > int msdosfs_vop_lookup(dvp, vpp, cnp) { > do the usual checks (dvp is VDIR, R/O FS, VOP_ACCESS(dvp)); > char *oldname = cnp->cn_name; > char newname[12] = unix2dosfn(oldname); > cnp->cn_name = newname; > error = cache_lookup(dvp, vpp, cnp); > cnp->cn_name = oldname; > if (error /* i.e., in cache */) > return (error); > return (msdosfs_lookup(dvp, vpp, cnp)); > } > > I don't use msdosfs enough to adequately test this, though. I use it every few days when transferring files to a USB flash drive, but that's about it. I only became interested in it when it started corrupting files on me, and I only wrote the regression test for this case-sensitivity problem because it was so easy. So anyway, I do not plan on messing with msdosfs internals. :) Mike "Silby" Silbersack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050417043659.P5292>