Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44b998e1 authored by David Woodhouse's avatar David Woodhouse
Browse files

[JFFS2] Improve failure mode if inode checking leaves unchecked space.



We should never find the unchecked size is non-zero after we've finished
checking all inodes. If it happens, used to BUG(), leaving the alloc_sem
held and deadlocking. Instead, just return -ENOSPC after complaining. The
GC thread will die, but read-only operation should be able to continue and
the file system should be unmountable.

Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent 566865a2
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -144,7 +144,8 @@ int jffs2_garbage_collect_pass(struct jffs2_sb_info *c)
			       c->unchecked_size);
			jffs2_dbg_dump_block_lists_nolock(c);
			spin_unlock(&c->erase_completion_lock);
			BUG();
			up(&c->alloc_sem);
			return -ENOSPC;
		}

		spin_unlock(&c->erase_completion_lock);