aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/logfs/readwrite.c10
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;