Re: fsync on large files

Linus Torvalds (torvalds@transmeta.com)
Wed, 17 Feb 1999 10:48:47 -0800 (PST)


On Wed, 17 Feb 1999, Alexander Viro wrote:
> >
> > Umm.. We _never_ use "." and ".." in filesystems. Never.
>
> Linus, please take a look at knfsd.

Are you talking about

/* N.B. We shouldn't need this ... dentry layer handles it */
err = nfserr_perm;
if (!flen || (fname[0] == '.' &&
(flen == 1 || (flen == 2 && fname[1] == '.'))) ||
!tlen || (tname[0] == '.' &&
(tlen == 1 || (tlen == 2 && tname[1] == '.'))))
goto out;

...

/* N.B. We shouldn't need this test ... handled by dentry layer */
err = nfserr_acces;
if (!flen || isdotent(fname, flen))
goto out;

then yes, there is lots of historical stuff in there. knfsd was originally
written for older kernels. But note the comments.

That's kind of my argument: we _used_ to need to have "." and ".." and for
filesystems that didn't have them (like the iso9660 CD-ROM filesystem) we
went to a fair amount of trouble to try to handle them correctly (and
there were still special cases where we didn't, as far as I can tell).
With the dentries, that just went away, but we still have cruft there.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/