diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2017-03-12 08:18:26 +0000 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2017-03-12 08:18:26 +0000 |
| commit | 8f1c5b47f4b2051483f7b7f17ae943973f9323b4 (patch) | |
| tree | 2994131e9627b0ea5e272ee8842e7927cdc1c74f /fs/ext4/inline.c | |
| parent | 8b2bd3ddf4ecbde7032ed514b8bd7c73b493b222 (diff) | |
| parent | 6ec4583e9b03f64166902b4b4d8301d0f62b49bc (diff) | |
ext4: fix inline data error paths
am: 6ec4583e9b
Change-Id: I288454fe8c77883f859f8bb7705727bd8c52c378
Diffstat (limited to 'fs/ext4/inline.c')
| -rw-r--r-- | fs/ext4/inline.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c index 98ca2bb1b829..092925a87dae 100644 --- a/fs/ext4/inline.c +++ b/fs/ext4/inline.c @@ -947,8 +947,15 @@ int ext4_da_write_inline_data_end(struct inode *inode, loff_t pos, struct page *page) { int i_size_changed = 0; + int ret; - copied = ext4_write_inline_data_end(inode, pos, len, copied, page); + ret = ext4_write_inline_data_end(inode, pos, len, copied, page); + if (ret < 0) { + unlock_page(page); + put_page(page); + return ret; + } + copied = ret; /* * No need to use i_size_read() here, the i_size |
