Merge tag 'xfs-4.15-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 17 Nov 2017 22:14:13 +0000 (14:14 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 17 Nov 2017 22:14:13 +0000 (14:14 -0800)
Pull xfs fixes from Darrick Wong:
 "A couple more patches to fix a locking bug and some inconsistent type
  usage in some of the new code:

   - Fix a forgotten rcu read unlock

   - Fix some inconsistent integer type usage"

* tag 'xfs-4.15-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  xfs: fix type usage
  xfs: fix forgotten rcu read unlock when skipping inode reclaim

fs/xfs/libxfs/xfs_iext_tree.c
fs/xfs/libxfs/xfs_log_format.h
fs/xfs/xfs_inode.c

index 343a94246f5bb6b42d87ebf282819b0c6f588f97..19e546a412510205a615ac414d1dc1517a2786d6 100644 (file)
@@ -302,7 +302,7 @@ xfs_iext_rec_cmp(
        xfs_fileoff_t           offset)
 {
        uint64_t                rec_offset = rec->lo & XFS_IEXT_STARTOFF_MASK;
-       u32                     rec_len = rec->hi & XFS_IEXT_LENGTH_MASK;
+       uint32_t                rec_len = rec->hi & XFS_IEXT_LENGTH_MASK;
 
        if (rec_offset > offset)
                return 1;
index 996f035ee2058172899bd656c1259e9717bee85c..349d9f8edb89b4dd040cdf741c5ca2ba3207c329 100644 (file)
@@ -274,7 +274,7 @@ struct xfs_inode_log_format {
        uint64_t                ilf_ino;        /* inode number */
        union {
                uint32_t        ilfu_rdev;      /* rdev value for dev inode*/
-               u8              __pad[16];      /* unused */
+               uint8_t         __pad[16];      /* unused */
        } ilf_u;
        int64_t                 ilf_blkno;      /* blkno of inode buffer */
        int32_t                 ilf_len;        /* len of inode buffer */
@@ -295,7 +295,7 @@ struct xfs_inode_log_format_32 {
        uint64_t                ilf_ino;        /* inode number */
        union {
                uint32_t        ilfu_rdev;      /* rdev value for dev inode*/
-               u8              __pad[16];      /* unused */
+               uint8_t         __pad[16];      /* unused */
        } ilf_u;
        int64_t                 ilf_blkno;      /* blkno of inode buffer */
        int32_t                 ilf_len;        /* len of inode buffer */
index d8226f7a5dde58fe5b58a5dbec9848064631420f..61d1cb7dc10d25dd894624d6094973b9c25328a6 100644 (file)
@@ -2357,6 +2357,7 @@ retry:
                                 */
                                if (ip->i_ino != inum + i) {
                                        xfs_iunlock(ip, XFS_ILOCK_EXCL);
+                                       rcu_read_unlock();
                                        continue;
                                }
                        }