Commit 
afddba49d18f ("fs: introduce write_begin, write_end, and
perform_write aops") introduced AOP_FLAG_UNINTERRUPTIBLE flag which was
checked in pagecache_write_begin(), but that check was removed by
4e02ed4b4a2f ("fs: remove prepare_write/commit_write").
Between these two commits, commit 
d9414774dc0c ("cifs: Convert cifs to
new aops.") added a check in cifs_write_begin(), but that check was soon
removed by commit 
a98ee8c1c707 ("[CIFS] fix regression in
cifs_write_begin/cifs_write_end").
Therefore, AOP_FLAG_UNINTERRUPTIBLE flag is checked nowhere.  Let's
remove this flag.  This patch has no functionality changes.
Link: http://lkml.kernel.org/r/1489294781-53494-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Nick Piggin <npiggin@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 
   write_end: After a successful write_begin, and data copy, write_end must
         be called. len is the original len passed to write_begin, and copied
-        is the amount that was able to be copied (copied == len is always true
-       if write_begin was called with the AOP_FLAG_UNINTERRUPTIBLE flag).
+        is the amount that was able to be copied.
 
         The filesystem must take care of unlocking the page and releasing it
         refcount, and updating i_size.
 
                goto out;
 
        err = pagecache_write_begin(NULL, mapping, size, 0,
-                               AOP_FLAG_UNINTERRUPTIBLE|AOP_FLAG_CONT_EXPAND,
-                               &page, &fsdata);
+                                   AOP_FLAG_CONT_EXPAND, &page, &fsdata);
        if (err)
                goto out;
 
                }
                len = PAGE_SIZE - zerofrom;
 
-               err = pagecache_write_begin(file, mapping, curpos, len,
-                                               AOP_FLAG_UNINTERRUPTIBLE,
-                                               &page, &fsdata);
+               err = pagecache_write_begin(file, mapping, curpos, len, 0,
+                                           &page, &fsdata);
                if (err)
                        goto out;
                zero_user(page, zerofrom, len);
                }
                len = offset - zerofrom;
 
-               err = pagecache_write_begin(file, mapping, curpos, len,
-                                               AOP_FLAG_UNINTERRUPTIBLE,
-                                               &page, &fsdata);
+               err = pagecache_write_begin(file, mapping, curpos, len, 0,
+                                           &page, &fsdata);
                if (err)
                        goto out;
                zero_user(page, zerofrom, len);
 
        int err;
 
        lock_page(page);
-       err = exofs_write_begin(NULL, page->mapping, pos, len,
-                               AOP_FLAG_UNINTERRUPTIBLE, &page, NULL);
+       err = exofs_write_begin(NULL, page->mapping, pos, len, 0, &page, NULL);
        if (err)
                EXOFS_ERR("exofs_set_link: exofs_write_begin FAILED => %d\n",
                          err);
 
 
                /* XXX: Can use generic_cont_expand? */
                size = inode->i_size - 1;
-               res = pagecache_write_begin(NULL, mapping, size+1, 0,
-                               AOP_FLAG_UNINTERRUPTIBLE, &page, &fsdata);
+               res = pagecache_write_begin(NULL, mapping, size+1, 0, 0,
+                                           &page, &fsdata);
                if (!res) {
                        res = pagecache_write_end(NULL, mapping, size+1, 0, 0,
                                        page, fsdata);
 
                void *fsdata;
                loff_t size = inode->i_size;
 
-               res = pagecache_write_begin(NULL, mapping, size, 0,
-                                               AOP_FLAG_UNINTERRUPTIBLE,
-                                               &page, &fsdata);
+               res = pagecache_write_begin(NULL, mapping, size, 0, 0,
+                                           &page, &fsdata);
                if (res)
                        return;
                res = pagecache_write_end(NULL, mapping, size,
 
        ssize_t written = 0;
        unsigned int flags = AOP_FLAG_NOFS;
 
-       /*
-        * Copies from kernel address space cannot fail (NFSD is a big user).
-        */
-       if (!iter_is_iovec(i))
-               flags |= AOP_FLAG_UNINTERRUPTIBLE;
-
        do {
                struct page *page;
                unsigned long offset;   /* Offset into pagecache page */
                        return PTR_ERR(rpage);
 
                status = iomap_write_begin(inode, pos, bytes,
-                               AOP_FLAG_NOFS | AOP_FLAG_UNINTERRUPTIBLE,
-                               &page, iomap);
+                                          AOP_FLAG_NOFS, &page, iomap);
                put_page(rpage);
                if (unlikely(status))
                        return status;
        struct page *page;
        int status;
 
-       status = iomap_write_begin(inode, pos, bytes,
-                       AOP_FLAG_UNINTERRUPTIBLE | AOP_FLAG_NOFS, &page, iomap);
+       status = iomap_write_begin(inode, pos, bytes, AOP_FLAG_NOFS, &page,
+                                  iomap);
        if (status)
                return status;
 
 
        struct page *page;
        void *fsdata;
        int err;
-       unsigned int flags = AOP_FLAG_UNINTERRUPTIBLE;
+       unsigned int flags = 0;
        if (nofs)
                flags |= AOP_FLAG_NOFS;
 
 
        AOP_TRUNCATED_PAGE      = 0x80001,
 };
 
-#define AOP_FLAG_UNINTERRUPTIBLE       0x0001 /* will not do a short write */
-#define AOP_FLAG_CONT_EXPAND           0x0002 /* called from cont_expand */
-#define AOP_FLAG_NOFS                  0x0004 /* used by filesystem to direct
+#define AOP_FLAG_CONT_EXPAND           0x0001 /* called from cont_expand */
+#define AOP_FLAG_NOFS                  0x0002 /* used by filesystem to direct
                                                * helper code (eg buffer layer)
                                                * to clear GFP_FS from alloc */
 
 
        ssize_t written = 0;
        unsigned int flags = 0;
 
-       /*
-        * Copies from kernel address space cannot fail (NFSD is a big user).
-        */
-       if (!iter_is_iovec(i))
-               flags |= AOP_FLAG_UNINTERRUPTIBLE;
-
        do {
                struct page *page;
                unsigned long offset;   /* Offset into pagecache page */