• Chris Mason's avatar
    Btrfs: explicitly mark the tree log root for writeback · e293e97e
    Chris Mason authored
    Each subvolume has an extent_state_tree used to mark metadata
    that needs to be sent to disk while syncing the tree.  This is
    used in addition to the dirty bits on the pages themselves so that
    a single subvolume can be sent to disk efficiently in disk order.
    
    Normally this marking happens in btrfs_alloc_free_block, which also does
    special recording of dirty tree blocks for the tree log roots.
    
    Yan Zheng noticed that when the root of the log tree is allocated, it is added
    to the wrong writeback list.  The fix used here is to explicitly set
    it dirty as part of tree log creation.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    e293e97e
tree-log.c 76.4 KB