diff options
author | Theodore Ts'o <tytso@mit.edu> | 2013-07-01 08:12:39 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-07-01 08:12:39 -0400 |
commit | 42c832debbbf819f6c4ad8601baa559c44105ba4 (patch) | |
tree | 454b3ac82c41ebdb3a88782744f7e8636fe2f29f /fs/ext4 | |
parent | 353eefd3386982ab8f7e14de079ec347dfe05509 (diff) |
ext4: check error return from ext4_write_inline_data_end()
The function ext4_write_inline_data_end() can return an error. So we
need to assign it to a signed integer variable to check for an error
return (since copied is an unsigned int).
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Zheng Liu <wenqing.lz@taobao.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/inode.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 6d051deafc39..09942341dfae 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -1061,10 +1061,13 @@ static int ext4_write_end(struct file *file, | |||
1061 | } | 1061 | } |
1062 | } | 1062 | } |
1063 | 1063 | ||
1064 | if (ext4_has_inline_data(inode)) | 1064 | if (ext4_has_inline_data(inode)) { |
1065 | copied = ext4_write_inline_data_end(inode, pos, len, | 1065 | ret = ext4_write_inline_data_end(inode, pos, len, |
1066 | copied, page); | 1066 | copied, page); |
1067 | else | 1067 | if (ret < 0) |
1068 | goto errout; | ||
1069 | copied = ret; | ||
1070 | } else | ||
1068 | copied = block_write_end(file, mapping, pos, | 1071 | copied = block_write_end(file, mapping, pos, |
1069 | len, copied, page, fsdata); | 1072 | len, copied, page, fsdata); |
1070 | 1073 | ||