lkml.org 
[lkml]   [2007]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Finding hardlinks
    >>>> I didn't hardlink directories, I just patched stat, lstat and fstat to
    >>>> always return st_ino == 0 --- and I've seen those failures. These failures
    >>>> are going to happen on non-POSIX filesystems in real world too, very
    >>>> rarely.
    >>>
    >>> I don't want to spoil your day but testing with st_ino==0 is a bad choice
    >>> because it is a special number. Anyway, one can only find breakage,
    >>> not prove that all the other programs handle this correctly so this is
    >>> kind of pointless.
    >>>
    >>> On any decent filesystem st_ino should uniquely identify an object and
    >>> reliably provide hardlink information. The UNIX world has relied upon this
    >>> for decades. A filesystem with st_ino collisions without being hardlinked
    >>> (or the other way around) needs a fix.
    >>
    >> ... and that's the problem --- the UNIX world specified something that
    >> isn't implementable in real world.
    >
    > Sure it is. Numerous popular POSIX filesystems do that. There is a lot of
    > inode number space in 64 bit (of course it is a matter of time for it to
    > jump to 128 bit and more)

    If the filesystem was designed by someone not from Unix world (FAT, SMB,
    ...), then not. And users still want to access these filesystems.

    64-bit inode numbers space is not yet implemented on Linux --- the problem
    is that if you return ino >= 2^32, programs compiled without
    -D_FILE_OFFSET_BITS=64 will fail with stat() returning -EOVERFLOW --- this
    failure is specified in POSIX, but not very useful.

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

    \
     
     \ /
      Last update: 2007-01-03 20:35    [W:4.110 / U:1.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site