btrfs: split btrfs_wait_marked_extents into normal and tree log functions
authorJeff Mahoney <jeffm@suse.com>
Sat, 10 Sep 2016 00:42:44 +0000 (20:42 -0400)
committerDavid Sterba <dsterba@suse.com>
Tue, 6 Dec 2016 15:07:00 +0000 (16:07 +0100)
commitbf89d38febaadd5b1da60fed54929cbde65fedf9
tree3c16844b1474e7e2b3c56f21cec88911cb2811a5
parent2ff7e61e0d30ff166a2ae94575526bffe11fd1a8
btrfs: split btrfs_wait_marked_extents into normal and tree log functions

btrfs_write_and_wait_marked_extents and btrfs_sync_log both call
btrfs_wait_marked_extents, which provides a core loop and then handles
errors differently based on whether it's it's a log root or not.

This means that btrfs_write_and_wait_marked_extents needs to take a root
because btrfs_wait_marked_extents requires one, even though it's only
used to determine whether the root is a log root.  The log root code
won't ever call into the transaction commit code using a log root, so we
can factor out the core loop and provide the error handling appropriate
to each waiter in new routines.  This allows us to eventually remove
the root argument from btrfs_commit_transaction, and as a result,
btrfs_end_transaction.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/transaction.c
fs/btrfs/transaction.h
fs/btrfs/tree-log.c