diff options
-rw-r--r-- | fs/btrfs/relocation.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 9189f9e3c359..07b3b36f40ee 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c | |||
@@ -4009,6 +4009,12 @@ restart: | |||
4009 | if (!RB_EMPTY_ROOT(&blocks)) { | 4009 | if (!RB_EMPTY_ROOT(&blocks)) { |
4010 | ret = relocate_tree_blocks(trans, rc, &blocks); | 4010 | ret = relocate_tree_blocks(trans, rc, &blocks); |
4011 | if (ret < 0) { | 4011 | if (ret < 0) { |
4012 | /* | ||
4013 | * if we fail to relocate tree blocks, force to update | ||
4014 | * backref cache when committing transaction. | ||
4015 | */ | ||
4016 | rc->backref_cache.last_trans = trans->transid - 1; | ||
4017 | |||
4012 | if (ret != -EAGAIN) { | 4018 | if (ret != -EAGAIN) { |
4013 | err = ret; | 4019 | err = ret; |
4014 | break; | 4020 | break; |