Re: [RFC] Union mount readdir support in glibc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2008-03-14 at 13:53 -0400, Peter Staubach wrote:
> Miklos Szeredi wrote:
> >>> Actually, do we really need it other than to 0 and to current position
> >>> (i.e. full rewind and a no-op)?
> >>>       
> >> Ever heard of the little function "telldir"?
> >>     
> >
> > Actually, telldir/seekdir is already broken for some filesystems (NFS
> > comes to mind).  POSIX was really crazy to require a working seekdir
> > implementation, and userspace should quickly start _not_ using it.

POSIX never did require a working seekdir implementation. That
requirement came from our friends in the "Open Group":

   http://www.opengroup.org/onlinepubs/009695399/functions/seekdir.html

> What makes you think that telldir/seekdir don't work for NFS?  The over the
> wire protocols clearly take values which could be retrieved and stored via
> those interfaces.
> 
>        ps

Except for the fact that the NFS cookies are unsigned (and in the case
of NFSv3/v4 are 64-bit wide), whereas glibc gets confused when
confronted with 'negative' telldir values.

Hence the current Linux client's wrapping of the on-the-wire cookies. As
far as I can see, it is fully conformant with the spec, which has the
perfect "get out of jail free" card:

        "The definition of seekdir() and telldir() does not specify
        whether, when using these interfaces, a given directory entry
        will be seen at all, or more than once."

  Trond

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux