Skip to content
  • Tao Ma's avatar
    ocfs2: Create reflinked file in orphan dir. · bc13d347
    Tao Ma authored
    
    
    reflink is a very complicated process, so it can't be integrated
    into one transaction. So if the system panic in the operation, we
    may leave a unfinished inode in the destication directory.
    
    So we will try to create an inode in orphan_dir first, reflink it
    to the src file and then move it to the destication file in the end.
    In that way we won't be afraid of any corruption during the reflink.
    
    This patch adds 2 functions for orphan_dir operation:
    1. Create a new inode in orphand dir.
    2. Move an inode to a target dir.
    
    Note:
    fsck.ocfs2 should work for us to remove the unfinished file in the
    orphan_dir.
    
    Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
    bc13d347