summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/debug.h
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-05-16 14:15:52 +0200
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-05-16 14:48:48 +0200
commitbbf2b37a98d22d5b111f03674dd4f093dd6c0ae5 (patch)
tree0d95805a339bdb7cd85b2af6bf8546e1ab02c39f /fs/ubifs/debug.h
parentUBIFS: simplify LEB recovery function further (diff)
downloadlinux-bbf2b37a98d22d5b111f03674dd4f093dd6c0ae5.tar.xz
linux-bbf2b37a98d22d5b111f03674dd4f093dd6c0ae5.zip
UBIFS: fix extremely rare mount failure
This patch fixes an extremely rare mount failure after a power cut, when mount fails with ENOSPC error because UBIFS could not find the GC LEB. In short, the reason for this failure is that after recovery the GC head LEB contains less free space than it had contained just before the power cut happened. As a result, if the FS is full, 'ubifs_rcvry_gc_commit()' is unable to find a dirty LEB to GC and a free LEB, so mount fails. This patch contains a huge comment with more detailed explanation, please refer that comment. Since this is really really rare and unlikely situation, I do not send this patch to the stable tree, also because it requires a lot of preparation patches which I did before. So sending this to -stable would be too risky. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'fs/ubifs/debug.h')
0 files changed, 0 insertions, 0 deletions