cvs commit: src/sys/fs/msdosfs msdosfs_lookup.c

David Schultz das at FreeBSD.ORG
Sat Apr 16 20:26:20 PDT 2005


On Sat, Apr 16, 2005, Mike Silbersack wrote:
> 
> On Sat, 16 Apr 2005, Mike Silbersack wrote:
> 
> >>I assume you mean that it *was* broken, until just now.  ;-)  Right?
> >
> >Oh, I cvsup'd and I thought I had grabbed the new version of the file, but 
> >it turns out that the cvsup server wasn't exactly up to date, so I grabbed 
> >a rev of it slightly newer than the one I had, but not the newest.
> >
> >So, I assume it's fixed now, I'll cvsup and doublecheck. :)
> >
> >Mike "Silby" Silbersack
> 
> Yeah, looks good now.  Sorry about the confusion.

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.


More information about the cvs-src mailing list