diff options
| author | David S. Miller <davem@davemloft.net> | 2013-01-29 15:32:13 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-01-29 15:32:13 -0500 |
| commit | f1e7b73acc26e8908af783bcd3a9900fd80688f5 (patch) | |
| tree | 9a9382fb7f12f1889020efb4bffa3f4a88589fc5 /fs/btrfs/tree-log.c | |
| parent | 218774dc341f219bfcf940304a081b121a0e8099 (diff) | |
| parent | fc16e884a2320198b8cb7bc2fdcf6b4485e79709 (diff) | |
| download | olio-linux-3.10-f1e7b73acc26e8908af783bcd3a9900fd80688f5.tar.xz olio-linux-3.10-f1e7b73acc26e8908af783bcd3a9900fd80688f5.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Bring in the 'net' tree so that we can get some ipv4/ipv6 bug
fixes that some net-next work will build upon.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/btrfs/tree-log.c')
| -rw-r--r-- | fs/btrfs/tree-log.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 83186c7e45d..9027bb1e746 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -3357,6 +3357,11 @@ static int log_one_extent(struct btrfs_trans_handle *trans, if (skip_csum) return 0; + if (em->compress_type) { + csum_offset = 0; + csum_len = block_len; + } + /* block start is already adjusted for the file extent offset. */ ret = btrfs_lookup_csums_range(log->fs_info->csum_root, em->block_start + csum_offset, @@ -3410,13 +3415,13 @@ static int btrfs_log_changed_extents(struct btrfs_trans_handle *trans, em = list_entry(extents.next, struct extent_map, list); list_del_init(&em->list); - clear_bit(EXTENT_FLAG_LOGGING, &em->flags); /* * If we had an error we just need to delete everybody from our * private list. */ if (ret) { + clear_em_logging(tree, em); free_extent_map(em); continue; } @@ -3424,8 +3429,9 @@ static int btrfs_log_changed_extents(struct btrfs_trans_handle *trans, write_unlock(&tree->lock); ret = log_one_extent(trans, inode, root, em, path); - free_extent_map(em); write_lock(&tree->lock); + clear_em_logging(tree, em); + free_extent_map(em); } WARN_ON(!list_empty(&extents)); write_unlock(&tree->lock); |