• L
    Btrfs: avoid heavy operations in btrfs_commit_super · d52c1bcc
    Liu Bo 提交于
    The 'git blame' history shows that, the old transaction commit code has to do
    twice to ensure roots are updated and we have to flush metadata and super block
    manually, however, right now all of these can be handled well inside
    the transaction commit code without extra efforts.
    
    And the error handling part remains same with the current code, -- 'return to
    caller once we get error'.
    
    This saves us a transaction commit and a flush of super block, which are both
    heavy operations according to ftrace output analysis.
    Signed-off-by: NLiu Bo <bo.li.liu@oracle.com>
    Signed-off-by: NJosef Bacik <jbacik@fusionio.com>
    Signed-off-by: NChris Mason <chris.mason@fusionio.com>
    d52c1bcc
disk-io.c 110.4 KB