]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/xfs/xfs_aops.c
drivers: net: DSA: Sort drivers
[mirror_ubuntu-artful-kernel.git] / fs / xfs / xfs_aops.c
index 61494295d92fe1acb7d343bc3a4e1594f09027ab..09af0f7cd55e278312881999755d3d8d0793d5c8 100644 (file)
@@ -111,11 +111,11 @@ xfs_finish_page_writeback(
 
        bsize = bh->b_size;
        do {
+               if (off > end)
+                       break;
                next = bh->b_this_page;
                if (off < bvec->bv_offset)
                        goto next_bh;
-               if (off > end)
-                       break;
                bh->b_end_io(bh, !error);
 next_bh:
                off += bsize;
@@ -189,7 +189,7 @@ xfs_setfilesize_trans_alloc(
         * We hand off the transaction to the completion thread now, so
         * clear the flag here.
         */
-       current_restore_flags_nested(&tp->t_pflags, PF_FSTRANS);
+       current_restore_flags_nested(&tp->t_pflags, PF_MEMALLOC_NOFS);
        return 0;
 }
 
@@ -252,7 +252,7 @@ xfs_setfilesize_ioend(
         * thus we need to mark ourselves as being in a transaction manually.
         * Similarly for freeze protection.
         */
-       current_set_flags_nested(&tp->t_pflags, PF_FSTRANS);
+       current_set_flags_nested(&tp->t_pflags, PF_MEMALLOC_NOFS);
        __sb_writers_acquired(VFS_I(ip)->i_sb, SB_FREEZE_FS);
 
        /* we abort the update if there was an IO error */
@@ -1016,7 +1016,7 @@ xfs_do_writepage(
         * Given that we do not allow direct reclaim to call us, we should
         * never be called while in a filesystem transaction.
         */
-       if (WARN_ON_ONCE(current->flags & PF_FSTRANS))
+       if (WARN_ON_ONCE(current->flags & PF_MEMALLOC_NOFS))
                goto redirty;
 
        /*
@@ -1261,8 +1261,8 @@ xfs_get_blocks(
 
        if (nimaps) {
                trace_xfs_get_blocks_found(ip, offset, size,
-                               ISUNWRITTEN(&imap) ? XFS_IO_UNWRITTEN
-                                                  : XFS_IO_OVERWRITE, &imap);
+                       imap.br_state == XFS_EXT_UNWRITTEN ?
+                               XFS_IO_UNWRITTEN : XFS_IO_OVERWRITE, &imap);
                xfs_iunlock(ip, lockmode);
        } else {
                trace_xfs_get_blocks_notfound(ip, offset, size);
@@ -1276,9 +1276,7 @@ xfs_get_blocks(
         * For unwritten extents do not report a disk address in the buffered
         * read case (treat as if we're reading into a hole).
         */
-       if (imap.br_startblock != HOLESTARTBLOCK &&
-           imap.br_startblock != DELAYSTARTBLOCK &&
-           !ISUNWRITTEN(&imap))
+       if (xfs_bmap_is_real_extent(&imap))
                xfs_map_buffer(inode, bh_result, &imap, offset);
 
        /*