]> Pileus Git - ~andy/linux/blobdiff - fs/ext4/inode.c
ext4: check error return from ext4_write_inline_data_end()
[~andy/linux] / fs / ext4 / inode.c
index 6d051deafc39dfd23172efb0159a2cbafa658412..09942341dfae6daca419b64ed1257e68a8c25979 100644 (file)
@@ -1061,10 +1061,13 @@ static int ext4_write_end(struct file *file,
                }
        }
 
-       if (ext4_has_inline_data(inode))
-               copied = ext4_write_inline_data_end(inode, pos, len,
-                                                   copied, page);
-       else
+       if (ext4_has_inline_data(inode)) {
+               ret = ext4_write_inline_data_end(inode, pos, len,
+                                                copied, page);
+               if (ret < 0)
+                       goto errout;
+               copied = ret;
+       } else
                copied = block_write_end(file, mapping, pos,
                                         len, copied, page, fsdata);