UBIFS: fix inode size debugging check failure
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Thu, 5 May 2011 11:16:32 +0000 (14:16 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Fri, 13 May 2011 16:23:57 +0000 (19:23 +0300)
commitc1f1f91d2183b91c684900b529b6c336ad3dd27c
treea4df1e218b75bfbfa60c304a83d6364ef0320ce4
parent45cd5cddbfbdf0993dbc76d06ed77d0bf547b421
UBIFS: fix inode size debugging check failure

This patch fixes a problem with the following symptoms:

UBIFS: deferred recovery completed
UBIFS error (pid 15676): dbg_check_synced_i_size: ui_size is 11481088, synced_i_size is 11459081, but inode is clean
UBIFS error (pid 15676): dbg_check_synced_i_size: i_ino 128, i_mode 0x81a4, i_size 11481088

It happens when additional debugging checks are enabled and we are recovering
from a power cut. When we fixup corrupted inode size during recovery, we change
them in-place and we change ui_size as well, but not synced_i_size, which
causes this failure. This patch makes sure we change both fields and fixes the
issue.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
fs/ubifs/recovery.c