diff options
author | Josef Bacik <jbacik@fusionio.com> | 2013-04-04 14:31:27 -0400 |
---|---|---|
committer | Josef Bacik <jbacik@fusionio.com> | 2013-05-06 15:54:33 -0400 |
commit | cc95bef635a649d595cf8d1cd4fcff5b6bf13023 (patch) | |
tree | dbe8e6b5953648dbef4ce26e45f522ed73103238 /fs/btrfs/tree-log.c | |
parent | 98ad69cfd2ca8e27250af839bacda1639a7dc3a4 (diff) | |
download | linux-cc95bef635a649d595cf8d1cd4fcff5b6bf13023.tar.gz linux-cc95bef635a649d595cf8d1cd4fcff5b6bf13023.tar.bz2 linux-cc95bef635a649d595cf8d1cd4fcff5b6bf13023.zip |
Btrfs: log ram bytes properly
When logging changed extents I was logging ram_bytes as the current length,
which isn't correct, it's supposed to be the ram bytes of the original extent.
This is for compression where even if we split the extent we need to know the
ram bytes so when we uncompress the extent we know how big it will be. This was
still working out right with compression for some reason but I think we were
getting lucky. It was definitely off for prealloc which is why I noticed it,
btrfsck was complaining about it. With this patch btrfsck no longer complains
after a log replay. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r-- | fs/btrfs/tree-log.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index f728eeb3eda5..592aa654b5f3 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -3410,7 +3410,7 @@ insert: em->start - em->orig_start, &token); btrfs_set_token_file_extent_num_bytes(leaf, fi, em->len, &token); - btrfs_set_token_file_extent_ram_bytes(leaf, fi, em->len, &token); + btrfs_set_token_file_extent_ram_bytes(leaf, fi, em->ram_bytes, &token); btrfs_set_token_file_extent_compression(leaf, fi, em->compress_type, &token); btrfs_set_token_file_extent_encryption(leaf, fi, 0, &token); |