Skip site navigation (1)Skip section navigation (2)
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>