summaryrefslogtreecommitdiffstats
path: root/fs/fuse/file.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-11-28 08:34:10 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-11-28 08:34:10 +0100
commit0edbf9e55295585bbe9df61b646ca5bf80a8e1eb (patch)
treed9b6869ff7a245343a9b030511d4bfd18b00f192 /fs/fuse/file.c
parenteacae5d2b940b39e7234036bf62869aff5ffe055 (diff)
parente5517c2a5a49ed5e99047008629f1cd60246ea0e (diff)
downloadop-kernel-dev-0edbf9e55295585bbe9df61b646ca5bf80a8e1eb.zip
op-kernel-dev-0edbf9e55295585bbe9df61b646ca5bf80a8e1eb.tar.gz
Merge 4.9-rc7 into usb-next
We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/fuse/file.c')
-rw-r--r--fs/fuse/file.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index abc66a6..2401c5d 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1985,6 +1985,10 @@ static int fuse_write_end(struct file *file, struct address_space *mapping,
{
struct inode *inode = page->mapping->host;
+ /* Haven't copied anything? Skip zeroing, size extending, dirtying. */
+ if (!copied)
+ goto unlock;
+
if (!PageUptodate(page)) {
/* Zero any unwritten bytes at the end of the page */
size_t endoff = (pos + copied) & ~PAGE_MASK;
@@ -1995,6 +1999,8 @@ static int fuse_write_end(struct file *file, struct address_space *mapping,
fuse_write_update_size(inode, pos + copied);
set_page_dirty(page);
+
+unlock:
unlock_page(page);
put_page(page);
OpenPOWER on IntegriCloud