diff options
-rw-r--r-- | fs/logfs/readwrite.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/logfs/readwrite.c b/fs/logfs/readwrite.c index e1a3b6bf6324..9a59cbade2fb 100644 --- a/fs/logfs/readwrite.c +++ b/fs/logfs/readwrite.c | |||
@@ -1887,9 +1887,15 @@ int logfs_truncate(struct inode *inode, u64 target) | |||
1887 | logfs_put_wblocks(sb, NULL, 1); | 1887 | logfs_put_wblocks(sb, NULL, 1); |
1888 | } | 1888 | } |
1889 | 1889 | ||
1890 | if (!err) | 1890 | if (!err) { |
1891 | err = vmtruncate(inode, target); | 1891 | err = inode_newsize_ok(inode, target); |
1892 | if (err) | ||
1893 | goto out; | ||
1894 | |||
1895 | truncate_setsize(inode, target); | ||
1896 | } | ||
1892 | 1897 | ||
1898 | out: | ||
1893 | /* I don't trust error recovery yet. */ | 1899 | /* I don't trust error recovery yet. */ |
1894 | WARN_ON(err); | 1900 | WARN_ON(err); |
1895 | return err; | 1901 | return err; |