diff options
author | Chris Mason <chris.mason@oracle.com> | 2007-11-01 11:28:41 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:03:57 -0400 |
commit | 179e29e488cc74f1e9bd67bc45f70b832740e9ec (patch) | |
tree | aa055d77b8d3f2b4bc59b1bb8a5b98ec0b223fb5 /fs/btrfs/dir-item.c | |
parent | 35ebb934bd7fcc7ca991b155b7980c3c4ff9f1a5 (diff) |
Btrfs: Fix a number of inline extent problems that Yan Zheng reported.
The fixes do a number of things:
1) Most btrfs_drop_extent callers will try to leave the inline extents in
place. It can truncate bytes off the beginning of the inline extent if
required.
2) writepage can now update the inline extent, allowing mmap writes to
go directly into the inline extent.
3) btrfs_truncate_in_transaction truncates inline extents
4) extent_map.c fixed to not merge inline extent mappings and hole
mappings together
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/dir-item.c')
-rw-r--r-- | fs/btrfs/dir-item.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/dir-item.c b/fs/btrfs/dir-item.c index 6f19de41b878..514a1dc337a8 100644 --- a/fs/btrfs/dir-item.c +++ b/fs/btrfs/dir-item.c | |||
@@ -249,7 +249,7 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans, | |||
249 | memmove_extent_buffer(leaf, ptr, ptr + sub_item_len, | 249 | memmove_extent_buffer(leaf, ptr, ptr + sub_item_len, |
250 | item_len - (ptr + sub_item_len - start)); | 250 | item_len - (ptr + sub_item_len - start)); |
251 | ret = btrfs_truncate_item(trans, root, path, | 251 | ret = btrfs_truncate_item(trans, root, path, |
252 | item_len - sub_item_len); | 252 | item_len - sub_item_len, 1); |
253 | } | 253 | } |
254 | return 0; | 254 | return 0; |
255 | } | 255 | } |