|
@@ -935,12 +935,16 @@ again:
|
|
|
btrfs_set_item_key_safe(trans, root, path, &new_key);
|
|
|
fi = btrfs_item_ptr(leaf, path->slots[0],
|
|
|
struct btrfs_file_extent_item);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi,
|
|
|
+ trans->transid);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
extent_end - end);
|
|
|
btrfs_set_file_extent_offset(leaf, fi,
|
|
|
end - orig_offset);
|
|
|
fi = btrfs_item_ptr(leaf, path->slots[0] - 1,
|
|
|
struct btrfs_file_extent_item);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi,
|
|
|
+ trans->transid);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
end - other_start);
|
|
|
btrfs_mark_buffer_dirty(leaf);
|
|
@@ -958,12 +962,16 @@ again:
|
|
|
struct btrfs_file_extent_item);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
start - key.offset);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi,
|
|
|
+ trans->transid);
|
|
|
path->slots[0]++;
|
|
|
new_key.offset = start;
|
|
|
btrfs_set_item_key_safe(trans, root, path, &new_key);
|
|
|
|
|
|
fi = btrfs_item_ptr(leaf, path->slots[0],
|
|
|
struct btrfs_file_extent_item);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi,
|
|
|
+ trans->transid);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
other_end - start);
|
|
|
btrfs_set_file_extent_offset(leaf, fi,
|
|
@@ -991,12 +999,14 @@ again:
|
|
|
leaf = path->nodes[0];
|
|
|
fi = btrfs_item_ptr(leaf, path->slots[0] - 1,
|
|
|
struct btrfs_file_extent_item);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi, trans->transid);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
split - key.offset);
|
|
|
|
|
|
fi = btrfs_item_ptr(leaf, path->slots[0],
|
|
|
struct btrfs_file_extent_item);
|
|
|
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi, trans->transid);
|
|
|
btrfs_set_file_extent_offset(leaf, fi, split - orig_offset);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
extent_end - split);
|
|
@@ -1056,12 +1066,14 @@ again:
|
|
|
struct btrfs_file_extent_item);
|
|
|
btrfs_set_file_extent_type(leaf, fi,
|
|
|
BTRFS_FILE_EXTENT_REG);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi, trans->transid);
|
|
|
btrfs_mark_buffer_dirty(leaf);
|
|
|
} else {
|
|
|
fi = btrfs_item_ptr(leaf, del_slot - 1,
|
|
|
struct btrfs_file_extent_item);
|
|
|
btrfs_set_file_extent_type(leaf, fi,
|
|
|
BTRFS_FILE_EXTENT_REG);
|
|
|
+ btrfs_set_file_extent_generation(leaf, fi, trans->transid);
|
|
|
btrfs_set_file_extent_num_bytes(leaf, fi,
|
|
|
extent_end - key.offset);
|
|
|
btrfs_mark_buffer_dirty(leaf);
|