• Liu Bo's avatar
    Btrfs: use reserved space for creating a snapshot · 2382c5cc
    Liu Bo authored
    While inserting dir index and updating inode for a snapshot, we'd
    add delayed items which consume trans->block_rsv, if we don't have
    any space reserved in this trans handle, we either just return or
    reserve space again.
    
    But before creating pending snapshots during committing transaction,
    we've done a release on this trans handle, so we don't have space reserved
    in it at this stage.
    
    What we're using is block_rsv of pending snapshots which has already
    reserved well enough space for both inserting dir index and updating
    inode, so we need to set trans handle to indicate that we have space
    now.
    Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
    Reviewed-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
    Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    2382c5cc
transaction.c 50 KB