mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
fs: semove set but not checked AOP_FLAG_UNINTERRUPTIBLE flag
Commitafddba49d1("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 by4e02ed4b4a("fs: remove prepare_write/commit_write"). Between these two commits, commitd9414774dc("cifs: Convert cifs to new aops.") added a check in cifs_write_begin(), but that check was soon removed by commita98ee8c1c7("[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 <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Cc: Nick Piggin <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
f44a2920c8
commit
c718a97514
9 changed files with 17 additions and 37 deletions
13
fs/buffer.c
13
fs/buffer.c
|
|
@ -2379,8 +2379,7 @@ int generic_cont_expand_simple(struct inode *inode, loff_t 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;
|
||||
|
||||
|
|
@ -2415,9 +2414,8 @@ static int cont_expand_zero(struct file *file, struct address_space *mapping,
|
|||
}
|
||||
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);
|
||||
|
|
@ -2449,9 +2447,8 @@ static int cont_expand_zero(struct file *file, struct address_space *mapping,
|
|||
}
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -405,8 +405,7 @@ int exofs_set_link(struct inode *dir, struct exofs_dir_entry *de,
|
|||
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);
|
||||
|
|
|
|||
|
|
@ -485,8 +485,8 @@ void hfs_file_truncate(struct inode *inode)
|
|||
|
||||
/* 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);
|
||||
|
|
|
|||
|
|
@ -545,9 +545,8 @@ void hfsplus_file_truncate(struct inode *inode)
|
|||
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,
|
||||
|
|
|
|||
13
fs/iomap.c
13
fs/iomap.c
|
|
@ -158,12 +158,6 @@ iomap_write_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
|
|||
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 */
|
||||
|
|
@ -291,8 +285,7 @@ iomap_dirty_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
|
|||
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;
|
||||
|
|
@ -343,8 +336,8 @@ static int iomap_zero(struct inode *inode, loff_t pos, unsigned offset,
|
|||
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;
|
||||
|
||||
|
|
|
|||
|
|
@ -4766,7 +4766,7 @@ int __page_symlink(struct inode *inode, const char *symname, int len, int nofs)
|
|||
struct page *page;
|
||||
void *fsdata;
|
||||
int err;
|
||||
unsigned int flags = AOP_FLAG_UNINTERRUPTIBLE;
|
||||
unsigned int flags = 0;
|
||||
if (nofs)
|
||||
flags |= AOP_FLAG_NOFS;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue