summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/transaction.c
diff options
context:
space:
mode:
authorLiu Bo <bo.li.liu@oracle.com>2013-11-05 04:45:53 +0100
committerChris Mason <chris.mason@fusionio.com>2013-11-21 02:42:16 +0100
commitd52c1bcc647ca41ee563bc38d8231e5f3816112c (patch)
tree2698bcd9e7271f268834108e20ecbc985d188805 /fs/btrfs/transaction.c
parentBtrfs: fix __btrfs_start_workers retval (diff)
downloadlinux-d52c1bcc647ca41ee563bc38d8231e5f3816112c.tar.xz
linux-d52c1bcc647ca41ee563bc38d8231e5f3816112c.zip
Btrfs: avoid heavy operations in btrfs_commit_super
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: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions