aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-04-19 13:37:44 -0400
committerDavid Woodhouse <dwmw2@hera.kernel.org>2007-04-19 13:37:44 -0400
commit236454dfffb64a95ee01c50a215153f5de61c475 (patch)
tree605a8256dc83916c4daac5e709117cdd2fab3d64 /fs/btrfs/extent-tree.c
parenta429e51371eee3c989160c003ee40bc3947c6a76 (diff)
downloadkernel_samsung_smdk4412-236454dfffb64a95ee01c50a215153f5de61c475.zip
kernel_samsung_smdk4412-236454dfffb64a95ee01c50a215153f5de61c475.tar.gz
kernel_samsung_smdk4412-236454dfffb64a95ee01c50a215153f5de61c475.tar.bz2
Btrfs: many file_write fixes, inline data
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index cb04a70..b2faad3 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -111,6 +111,9 @@ int btrfs_inc_ref(struct btrfs_trans_handle *trans, struct btrfs_root *root,
continue;
fi = btrfs_item_ptr(buf_leaf, i,
struct btrfs_file_extent_item);
+ if (btrfs_file_extent_type(fi) ==
+ BTRFS_FILE_EXTENT_INLINE)
+ continue;
ret = btrfs_inc_extent_ref(trans, root,
btrfs_file_extent_disk_blocknr(fi),
btrfs_file_extent_disk_num_blocks(fi));
@@ -539,6 +542,8 @@ static int drop_leaf_ref(struct btrfs_trans_handle *trans,
if (btrfs_disk_key_type(key) != BTRFS_EXTENT_DATA_KEY)
continue;
fi = btrfs_item_ptr(leaf, i, struct btrfs_file_extent_item);
+ if (btrfs_file_extent_type(fi) == BTRFS_FILE_EXTENT_INLINE)
+ continue;
/*
* FIXME make sure to insert a trans record that
* repeats the snapshot del on crash