Date: Sat, 16 Apr 2005 23:26:18 -0400 From: David Schultz <das@FreeBSD.ORG> To: Mike Silbersack <silby@silby.com> Cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/fs/msdosfs msdosfs_lookup.c Message-ID: <20050417032618.GA65952@VARK.MIT.EDU> In-Reply-To: <20050416213839.A694@odysseus.silby.com> References: <200504162347.j3GNlJUA010418@repoman.freebsd.org> <20050416195710.K756@odysseus.silby.com> <20050417014050.GA640@VARK.MIT.EDU> <20050416212457.V756@odysseus.silby.com> <20050416213839.A694@odysseus.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050417032618.GA65952>
