diff options
-rw-r--r-- | extent-tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/extent-tree.c b/extent-tree.c index 8c395379..f3c36e10 100644 --- a/extent-tree.c +++ b/extent-tree.c @@ -1262,7 +1262,9 @@ static int pin_down_bytes(struct btrfs_root *root, u64 bytenr, u32 num_bytes, if (btrfs_buffer_uptodate(buf)) { u64 transid = root->fs_info->running_transaction->transid; - if (btrfs_header_generation(buf) == transid) { + if (btrfs_header_generation(buf) == + transid && !btrfs_header_flag(buf, + BTRFS_HEADER_FLAG_WRITTEN)) { free_extent_buffer(buf); return 1; } |