Commit 98ad69cf authored by Josef Bacik's avatar Josef Bacik

Btrfs: don't wait on ordered extents if we have a trans open

Dave was hitting a lockdep warning because we're now properly taking the ordered
operations mutex in the ordered wait stuff.  This is because some cases we will
have a trans handle when we are flushing delalloc space, but we can't wait on
ordered extents because we could potentially deadlock, so fix this by not doing
the wait if we have a trans handle.  Thanks
Reported-and-tested-by: default avatarDavid Sterba <dsterba@suse.cz>
Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
parent 8c579fe7
...@@ -3920,6 +3920,7 @@ void btrfs_writeback_inodes_sb_nr(struct btrfs_root *root, ...@@ -3920,6 +3920,7 @@ void btrfs_writeback_inodes_sb_nr(struct btrfs_root *root,
* the disk). * the disk).
*/ */
btrfs_start_delalloc_inodes(root, 0); btrfs_start_delalloc_inodes(root, 0);
if (!current->journal_info)
btrfs_wait_ordered_extents(root, 0); btrfs_wait_ordered_extents(root, 0);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment