Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
[firefly-linux-kernel-4.4.55.git] / fs / xfs / xfs_inode.c
index c92cb48617d1e2ebb58e127622593b345c1caffd..8ed049d1e3327fd61b1a6f1c7d1e0fea0bba77cd 100644 (file)
@@ -654,7 +654,7 @@ xfs_ialloc(
        xfs_inode_t     *ip;
        uint            flags;
        int             error;
-       timespec_t      tv;
+       struct timespec tv;
 
        /*
         * Call the space management code to pick
@@ -720,7 +720,7 @@ xfs_ialloc(
        ip->i_d.di_nextents = 0;
        ASSERT(ip->i_d.di_nblocks == 0);
 
-       nanotime(&tv);
+       tv = current_fs_time(mp->m_super);
        ip->i_d.di_mtime.t_sec = (__int32_t)tv.tv_sec;
        ip->i_d.di_mtime.t_nsec = (__int32_t)tv.tv_nsec;
        ip->i_d.di_atime = ip->i_d.di_mtime;
@@ -769,6 +769,8 @@ xfs_ialloc(
                                        di_flags |= XFS_DIFLAG_EXTSZINHERIT;
                                        ip->i_d.di_extsize = pip->i_d.di_extsize;
                                }
+                               if (pip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
+                                       di_flags |= XFS_DIFLAG_PROJINHERIT;
                        } else if (S_ISREG(mode)) {
                                if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT)
                                        di_flags |= XFS_DIFLAG_REALTIME;
@@ -789,8 +791,6 @@ xfs_ialloc(
                        if ((pip->i_d.di_flags & XFS_DIFLAG_NOSYMLINKS) &&
                            xfs_inherit_nosymlinks)
                                di_flags |= XFS_DIFLAG_NOSYMLINKS;
-                       if (pip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
-                               di_flags |= XFS_DIFLAG_PROJINHERIT;
                        if ((pip->i_d.di_flags & XFS_DIFLAG_NODEFRAG) &&
                            xfs_inherit_nodefrag)
                                di_flags |= XFS_DIFLAG_NODEFRAG;
@@ -3062,7 +3062,7 @@ cluster_corrupt_out:
                        XFS_BUF_UNDONE(bp);
                        xfs_buf_stale(bp);
                        xfs_buf_ioerror(bp, -EIO);
-                       xfs_buf_ioend(bp, 0);
+                       xfs_buf_ioend(bp);
                } else {
                        xfs_buf_stale(bp);
                        xfs_buf_relse(bp);