Merge tag 'gfs2-4.8.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 4 Oct 2016 20:42:13 +0000 (13:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 4 Oct 2016 20:42:13 +0000 (13:42 -0700)
Pull gfs2 updates from Bob Peterson:
 "We've only got six GFS2 patches for this merge window.  In patch
  order:

   - Fabian Frederick submitted a nice cleanup that uses the BIT macro
     rather than bit shifting.

   - Andreas Gruenbacher contributed a patch that fixes a long-standing
     annoyance whereby GFS2 warned about dirty pages.

   - Andreas also fixed a problem with the recent extended attribute
     readahead feature.

   - Chao Yu contributed a patch that checks the return code from
     function register_shrinker and reacts accordingly. Previously, it
     was not checked.

   - Andreas Gruenbacher also fixed a problem whereby incore file
     timestamps were forgotten if the file was invalidated. This merely
     moves the assignment inside the inode glock where it belongs.

   - Andreas also fixed a problem where incore timestamps were not
     initialized"

* tag 'gfs2-4.8.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
  gfs2: Initialize atime of I_NEW inodes
  gfs2: Update file times after grabbing glock
  gfs2: fix to detect failure of register_shrinker
  gfs2: Fix extended attribute readahead optimization
  gfs2: Remove dirty buffer warning from gfs2_releasepage
  GFS2: use BIT() macro

1  2 
fs/gfs2/inode.c

diff --combined fs/gfs2/inode.c
@@@ -187,6 -187,10 +187,10 @@@ struct inode *gfs2_inode_lookup(struct 
                }
  
                gfs2_set_iop(inode);
+               inode->i_atime.tv_sec = 0;
+               inode->i_atime.tv_nsec = 0;
                unlock_new_inode(inode);
        }
  
@@@ -1800,7 -1804,7 +1804,7 @@@ int gfs2_permission(struct inode *inode
        }
  
        if ((mask & MAY_WRITE) && IS_IMMUTABLE(inode))
 -              error = -EACCES;
 +              error = -EPERM;
        else
                error = generic_permission(inode, mask);
        if (gfs2_holder_initialized(&i_gh))