#
e6dcd2dc |
| 17-Jul-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: New data=ordered implementation
The old data=ordered code would force commit to wait until all the data extents from the transaction were fully on disk. This introduced large latencies into
Btrfs: New data=ordered implementation
The old data=ordered code would force commit to wait until all the data extents from the transaction were fully on disk. This introduced large latencies into the commit and stalled new writers in the transaction for a long time.
The new code changes the way data allocations and extents work:
* When delayed allocation is filled, data extents are reserved, and the extent bit EXTENT_ORDERED is set on the entire range of the extent. A struct btrfs_ordered_extent is allocated an inserted into a per-inode rbtree to track the pending extents.
* As each page is written EXTENT_ORDERED is cleared on the bytes corresponding to that page.
* When all of the bytes corresponding to a single struct btrfs_ordered_extent are written, The previously reserved extent is inserted into the FS btree and into the extent allocation trees. The checksums for the file data are also updated.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
Revision tags: v2.6.26, v2.6.26-rc9, v2.6.26-rc8, v2.6.26-rc7, v2.6.26-rc6, v2.6.26-rc5, v2.6.26-rc4, v2.6.26-rc3, v2.6.26-rc2, v2.6.26-rc1 |
|
#
f2eb0a24 |
| 02-May-2008 |
Sage Weil <sage@newdream.net> |
Btrfs: Clone file data ioctl
Add a new ioctl to clone file data
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.25 |
|
#
e015640f |
| 16-Apr-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Write bio checksumming outside the FS mutex
This significantly improves streaming write performance by allowing concurrency in the data checksumming.
Signed-off-by: Chris Mason <chris.mason@
Btrfs: Write bio checksumming outside the FS mutex
This significantly improves streaming write performance by allowing concurrency in the data checksumming.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
Revision tags: v2.6.25-rc9, v2.6.25-rc8, v2.6.25-rc7, v2.6.25-rc6, v2.6.25-rc5, v2.6.25-rc4, v2.6.25-rc3 |
|
#
eb20978f |
| 21-Feb-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Use KM_USERN instead of KM_IRQ during data summing
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
2e1a992e |
| 20-Feb-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Make sure bio pages are adjacent during bulk csumming
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
6e92f5e6 |
| 20-Feb-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: While doing checksums on bios, cache the extent_buffer mapping
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
065631f6 |
| 20-Feb-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: checksum file data at bio submission time instead of during writepage
When we checkum file data during writepage, the checksumming is done one page at a time, making it difficult to do bulk m
Btrfs: checksum file data at bio submission time instead of during writepage
When we checkum file data during writepage, the checksumming is done one page at a time, making it difficult to do bulk metadata modifications to insert checksums for large ranges of the file at once.
This patch changes btrfs to checksum on a per-bio basis instead. The bios are checksummed before they are handed off to the block layer, so each bio is contiguous and only has pages from the same inode.
Checksumming on a bio basis allows us to insert and modify the file checksum items in large groups. It also allows the checksumming to be done more easily by async worker threads.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
Revision tags: v2.6.25-rc2, v2.6.25-rc1 |
|
#
aadfeb6e |
| 29-Jan-2008 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Add some extra debugging around file data checksum failures
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.24, v2.6.24-rc8, v2.6.24-rc7, v2.6.24-rc6, v2.6.24-rc5, v2.6.24-rc4, v2.6.24-rc3, v2.6.24-rc2 |
|
#
179e29e4 |
| 01-Nov-2007 |
Chris Mason <chris.mason@oracle.com> |
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 trun
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>
show more ...
|
#
b56baf5b |
| 29-Oct-2007 |
Yan <yanzheng@21cn.com> |
Minor fix for btrfs_csum_file_block.
Execution should goto label 'insert' when 'btrfs_next_leaf' return a non-zero value, otherwise the parameter 'slot' for 'btrfs_item_key_to_cpu' may be out of bou
Minor fix for btrfs_csum_file_block.
Execution should goto label 'insert' when 'btrfs_next_leaf' return a non-zero value, otherwise the parameter 'slot' for 'btrfs_item_key_to_cpu' may be out of bounds. The original codes jump to label 'insert' only when 'btrfs_next_leaf' return a negative value.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
#
f578d4bd |
| 25-Oct-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Optimize csum insertion to create larger items when possible
This reduces the number of calls to btrfs_extend_item and greatly lowers the cpu usage while writing large files.
Signed-off-by:
Btrfs: Optimize csum insertion to create larger items when possible
This reduces the number of calls to btrfs_extend_item and greatly lowers the cpu usage while writing large files.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
Revision tags: v2.6.24-rc1 |
|
#
ff79f819 |
| 15-Oct-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Add back file data checksumming
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
db94535d |
| 15-Oct-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Allow tree blocks larger than the page size
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
5f39d397 |
| 15-Oct-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Create extent_buffer interface for large blocksizes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.23, v2.6.23-rc9, v2.6.23-rc8, v2.6.23-rc7, v2.6.23-rc6, v2.6.23-rc5, v2.6.23-rc4, v2.6.23-rc3, v2.6.23-rc2, v2.6.23-rc1 |
|
#
ec6b910f |
| 11-Jul-2007 |
Zach Brown <zach.brown@oracle.com> |
Btrfs: trivial include fixups
Almost none of the files including module.h need to do so, remove them.
Include sched.h in extent-tree.c to silence a warning about cond_resched() being undeclared.
S
Btrfs: trivial include fixups
Almost none of the files including module.h need to do so, remove them.
Include sched.h in extent-tree.c to silence a warning about cond_resched() being undeclared.
Signed-off-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
Revision tags: v2.6.22, v2.6.22-rc7, v2.6.22-rc6 |
|
#
54aa1f4d |
| 22-Jun-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stack
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
8c2383c3 |
| 18-Jun-2007 |
Chris Mason <chris.mason@oracle.com> |
Subject: Rework btrfs_file_write to only allocate while page locks are held
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.22-rc5 |
|
#
9ebefb18 |
| 15-Jun-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: patch queue: page_mkwrite
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
f1ace244 |
| 13-Jun-2007 |
Aneesh <aneesh.kumar@linux.vnet.ibm.com> |
btrfs: Code cleanup Attaching below is some of the code cleanups that i came across while reading the code.
a) alloc_path already calls init_path. b) Mention that btrfs_inode is the in memory copy.E
btrfs: Code cleanup Attaching below is some of the code cleanups that i came across while reading the code.
a) alloc_path already calls init_path. b) Mention that btrfs_inode is the in memory copy.Ext4 have ext4_inode_info as the in memory copy ext4_inode as the disk copy
Signed-off-by: Chris Mason <chris.mason@oracle.com>
show more ...
|
#
6cbd5570 |
| 12-Jun-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: add GPLv2
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
5af3981c |
| 12-Jun-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: printk fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
#
84f54cfa |
| 12-Jun-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: 64 bit div fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.22-rc4 |
|
#
1de037a4 |
| 29-May-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: fixup various fsx failures
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.22-rc3 |
|
#
3a686375 |
| 24-May-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: sparse files!
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|
Revision tags: v2.6.22-rc2, v2.6.22-rc1 |
|
#
509659cd |
| 10-May-2007 |
Chris Mason <chris.mason@oracle.com> |
Btrfs: switch to crc32c instead of sha256
Signed-off-by: Chris Mason <chris.mason@oracle.com>
|