• Jaegeuk Kim's avatar
    f2fs: use crc and cp version to determine roll-forward recovery · a468f0ef
    Jaegeuk Kim authored
    Previously, we used cp_version only to detect recoverable dnodes.
    In order to avoid same garbage cp_version, we needed to truncate the next
    dnode during checkpoint, resulting in additional discard or data write.
    If we can distinguish this by using crc in addition to cp_version, we can
    remove this overhead.
    
    There is backward compatibility concern where it changes node_footer layout.
    So, this patch introduces a new checkpoint flag, CP_CRC_RECOVERY_FLAG, to
    detect new layout. New layout will be activated only when this flag is set.
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    a468f0ef
node.h 12.1 KB