Merge tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 7 Sep 2015 20:28:32 +0000 (13:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 7 Sep 2015 20:28:32 +0000 (13:28 -0700)
Pull xfs updates from Dave Chinner:
 "There isn't a whole lot to this update - it's mostly bug fixes and
  they are spread pretty much all over XFS.  There are some corruption
  fixes, some fixes for log recovery, some fixes that prevent unount
  from hanging, a lockdep annotation rework for inode locking to prevent
  false positives and the usual random bunch of cleanups and minor
  improvements.

  Deatils:

   - large rework of EFI/EFD lifecycle handling to fix log recovery
     corruption issues, crashes and unmount hangs

   - separate metadata UUID on disk to enable changing boot label UUID
     for v5 filesystems

   - fixes for gcc miscompilation on certain platforms and optimisation
     levels

   - remote attribute allocation and recovery corruption fixes

   - inode lockdep annotation rework to fix bugs with too many
     subclasses

   - directory inode locking changes to prevent lockdep false positives

   - a handful of minor corruption fixes

   - various other small cleanups and bug fixes"

* tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (42 commits)
  xfs: fix error gotos in xfs_setattr_nonsize
  xfs: add mssing inode cache attempts counter increment
  xfs: return errors from partial I/O failures to files
  libxfs: bad magic number should set da block buffer error
  xfs: fix non-debug build warnings
  xfs: collapse allocsize and biosize mount option handling
  xfs: Fix file type directory corruption for btree directories
  xfs: lockdep annotations throw warnings on non-debug builds
  xfs: Fix uninitialized return value in xfs_alloc_fix_freelist()
  xfs: inode lockdep annotations broke non-lockdep build
  xfs: flush entire file on dio read/write to cached file
  xfs: Fix xfs_attr_leafblock definition
  libxfs: readahead of dir3 data blocks should use the read verifier
  xfs: stop holding ILOCK over filldir callbacks
  xfs: clean up inode lockdep annotations
  xfs: swap leaf buffer into path struct atomically during path shift
  xfs: relocate sparse inode mount warning
  xfs: dquots should be stamped with sb_meta_uuid
  xfs: log recovery needs to validate against sb_meta_uuid
  xfs: growfs not aware of sb_meta_uuid
  ...

1  2 
fs/xfs/xfs_aops.c
fs/xfs/xfs_buf.c
fs/xfs/xfs_super.c

index cc2a321f774b204de565db643483ce4c48518bbf,458fced2c0f9ab69833a71d5132dfe223bc51c1f..50ab2879b9da0ec1211abacbf6598b0a90eddd8a
@@@ -353,7 -356,8 +353,8 @@@ xfs_end_bio
  {
        xfs_ioend_t             *ioend = bio->bi_private;
  
-       ioend->io_error = bio->bi_error;
 -      if (!ioend->io_error && !test_bit(BIO_UPTODATE, &bio->bi_flags))
 -              ioend->io_error = error;
++      if (!ioend->io_error)
++              ioend->io_error = bio->bi_error;
  
        /* Toss bio and pass work off to an xfsdatad thread */
        bio->bi_private = NULL;
Simple merge
Simple merge