diff options
author | Josef Bacik <jbacik@fb.com> | 2016-05-27 13:24:13 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-07-07 18:45:53 +0200 |
commit | 8ca17f0f59529df9e2132ca594ff00c52a9bc556 (patch) | |
tree | 52539f2d8ab37e71a6115cc1dab18ed2aeaa101c /fs/btrfs/async-thread.c | |
parent | ac2fabac4211431b607b326c2233e73b81e86af2 (diff) | |
download | linux-8ca17f0f59529df9e2132ca594ff00c52a9bc556.tar.gz linux-8ca17f0f59529df9e2132ca594ff00c52a9bc556.tar.xz |
Btrfs: use FLUSH_LIMIT for relocation in reserve_metadata_bytes
We used to allow you to set FLUSH_ALL and then just wouldn't do things like
commit transactions or wait on ordered extents if we noticed you were in a
transaction. However now that all the flushing for FLUSH_ALL is asynchronous
we've lost the ability to tell, and we could end up deadlocking. So instead use
FLUSH_LIMIT in reserve_metadata_bytes in relocation and then return -EAGAIN if
we error out to preserve the previous behavior. I've also added an ASSERT() to
catch anybody else who tries to do this. Thanks,
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/async-thread.c')
0 files changed, 0 insertions, 0 deletions