• Artem Bityutskiy's avatar
    UBIFS: fix inode size debugging check failure · c1f1f91d
    Artem Bityutskiy authored
    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: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
    c1f1f91d
recovery.c 40.3 KB