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