• Jaegeuk Kim's avatar
    f2fs: add checkpoint operations · 127e670a
    Jaegeuk Kim authored
    This adds functions required by the checkpoint operations.
    
    Basically, f2fs adopts a roll-back model with checkpoint blocks written in the
    CP area. The checkpoint procedure includes as follows.
    
    - write_checkpoint()
    1. block_operations() freezes VFS calls.
    2. submit cached bios.
    3. flush_nat_entries() writes NAT pages updated by dirty NAT entries.
    4. flush_sit_entries() writes SIT pages updated by dirty SIT entries.
    5. do_checkpoint() writes,
      - checkpoint block (#0)
      - orphan inode blocks
      - summary blocks made by active logs
      - checkpoint block (copy of #0)
    6. unblock_opeations()
    
    In order to provide an address space for meta pages, f2fs_sb_info has a special
    inode, namely meta_inode. This patch also adds the address space operations for
    meta_inode.
    Signed-off-by: default avatarChul Lee <chur.lee@samsung.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
    127e670a
checkpoint.c 19.9 KB