• Linus Torvalds's avatar
    Merge tag 'for-linus-4.12-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · aeced661
    Linus Torvalds authored
    Pull orangefs updates from Mike Marshall:
     "Orangefs cleanups, fixes and statx support.
    
      Some cleanups:
    
       - remove unused get_fsid_from_ino
       - fix bounds check for listxattr
       - clean up oversize xattr validation
       - do not set getattr_time on orangefs_lookup
       - return from orangefs_devreq_read quickly if possible
       - do not wait for timeout if umounting
       - handle zero size write in debugfs
    
      Bug fixes:
    
       - do not check possibly stale size on truncate
       - ensure the userspace component is unmounted if mount fails
       - total reimplementation of dir.c
    
      New feature:
    
       - implement statx
    
      The new implementation of dir.c is kind of a big deal, all new code.
      It has been posted to fs-devel during the previous rc period, we
      didn't get much review or feedback from there, but it has been
      reviewed very heavily here, so much so that we have two entire
      versions of the reimplementation.
    
      Not only does the new implementation fix some xfstests, but it passes
      all the new tests we made here that involve seeking and rewinding and
      giant directories and long file names. The new dir code has three
      patches itself:
    
       - skip forward to the next directory entry if seek is short
       - invalidate stored directory on seek
       - count directory pieces correctly"
    
    * tag 'for-linus-4.12-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
      orangefs: count directory pieces correctly
      orangefs: invalidate stored directory on seek
      orangefs: skip forward to the next directory entry if seek is short
      orangefs: handle zero size write in debugfs
      orangefs: do not wait for timeout if umounting
      orangefs: return from orangefs_devreq_read quickly if possible
      orangefs: ensure the userspace component is unmounted if mount fails
      orangefs: do not check possibly stale size on truncate
      orangefs: implement statx
      orangefs: remove ORANGEFS_READDIR macros
      orangefs: support very large directories
      orangefs: support llseek on directories
      orangefs: rewrite readdir to fix several bugs
      orangefs: do not set getattr_time on orangefs_lookup
      orangefs: clean up oversize xattr validation
      orangefs: fix bounds check for listxattr
      orangefs: remove unused get_fsid_from_ino
    aeced661
file.c 18.9 KB