Normally the in memory i_size is always greater than or equal to i_size
on disk; this doesn't hold on filesystem error.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
ret = PTR_ERR_OR_ZERO(iter);
bch2_trans_exit(&trans);
+ if (ret)
+ goto err;
+
+ /*
+ * check this before next assertion; on filesystem error our normal
+ * invariants are a bit broken (truncate has to truncate the page cache
+ * before the inode).
+ */
+ ret = bch2_journal_error(&c->journal);
if (ret)
goto err;