aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs/extent_map.c
AgeCommit message (Collapse)AuthorFilesLines
2008-09-25Btrfs: Fix for test_range_bitYan1-0/+5
test_range_bit doesn't properly handle the case: there's a hole at the end of the range and there's no other extent_state after the range. Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Remove verbose WARN_ONChris Mason1-2/+0
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix extent_buffer usage when nodesize != leafsizeChris Mason1-9/+21
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Remove extent_map debugging messageChris Mason1-1/+0
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix an off by one in the extent_map prepare write codeChris Mason1-2/+2
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Implement basic support for -ENOSPCChris Mason1-6/+14
This is intended to prevent accidentally filling the drive. A determined user can still make things oops. It includes some accounting of the current bytes under delayed allocation, but this will change as things get optimized Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix delayed allocation to avoid missing delalloc extentsChris Mason1-2/+7
find_lock_delalloc_range could exit out too early Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Back port to 2.6.18-el kernelsChris Mason1-8/+160
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: section mismatch warningsChristian Hesse1-1/+1
--Boundary-00=_CcOWHFYK4T+JwSj Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello everybody, compiling btrfs into the kernel results in section mismatch warnings. __exit functions are called where they are not allowed to. The attached patch fixes this for me. Not sure if it is correct though. Signed-off-by: Christian Hesse <[email protected]> -- Regards, Chris --Boundary-00=_CcOWHFYK4T+JwSj Content-Type: text/x-diff; charset="iso-8859-1"; name="btrfs-section_mismatches.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="btrfs-section_mismatches.patch" Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Add efficient dirty accounting to the extent_map treeChris Mason1-3/+29
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Limit btree writeback to prevent seeksChris Mason1-0/+39
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Handle writeback under high memory pressure betterChris Mason1-0/+12
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Make sure page mapping dirty tag is properly clearedChris Mason1-2/+20
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Avoid fragmentation from parallel delalloc fillingChris Mason1-34/+49
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Return value checking in module initWyatt Banks1-2/+14
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix extent bit range testingChris Mason1-7/+17
It could return the bit as set when there was actually a hole at the very end of the range. Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Add readpages supportChris Mason1-7/+63
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Avoid extent_buffer lru corruptionChris Mason1-1/+7
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix failure cleanups when allocating extent buffers failChris Mason1-26/+30
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Add writepages supportChris Mason1-25/+110
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: small fixes for find_lock_delalloc_range.Yan1-1/+3
There is a 'finish_wait', but no 'prepare_to_wait' . So I think that the 'prepare_to_wait' is missing. The second change is according to the name of variable. Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix a number of inline extent problems that Yan Zheng reported.Chris Mason1-3/+8
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 <[email protected]>
2008-09-25Btrfs: Fix PAGE_CACHE_SHIFT shifts on 32 bit machinesChris Mason1-12/+15
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix extent_map leak in extent_bmapYan1-2/+6
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Off by one fixes in extent_map.cYan1-5/+5
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Avoid recursive KM_USER1 mappings in copy_extent_bufferChris Mason1-2/+2
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: CPU usage optimizations in push and the extent_map codeChris Mason1-30/+15
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix read/write_extent_buffer to use KM_USER1 instead of KM_USER0Chris Mason1-4/+4
This avoids recursive use of KM_USER0 during btrfs_file_write Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix bi_end_io() functions on > 2.6.23 kernelsJens Axboe1-0/+25
It now returns void and it is never called for partial completions, so the bio->bi_size check must go. Signed-off-by: Chris Mason <[email protected]>
2008-09-25btrfs: 32-bit type problemsJens Axboe1-3/+3
An assorted set of casts to get rid of the warnings on 32-bit archs. Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Add back file data checksummingChris Mason1-0/+3
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Add back metadata checksummingChris Mason1-15/+68
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: extent_map optimizations to cut down on CPU usageChris Mason1-19/+14
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Add an extent buffer LRU to reduce radix tree hitsChris Mason1-77/+106
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix allocation routines to avoid intermixing data and metadata ↵Chris Mason1-3/+3
allocations Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Use an array of pages in the extent buffers to reduce the cost of ↵Chris Mason1-14/+8
find_get_page Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Cache extent buffer mappingsChris Mason1-2/+13
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Allow tree blocks larger than the page sizeChris Mason1-25/+66
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Change the remaining radix trees used by extent-tree.c to extent_map ↵Chris Mason1-2/+3
trees Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Stop using radix trees for the block group cacheChris Mason1-2/+16
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Fix extent_buffer and extent_state leaksChris Mason1-11/+53
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Go back to kmaps instead of page_address in extent_buffersChris Mason1-31/+19
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Avoid memcpy where possible in extent_buffersChris Mason1-30/+102
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Optimizations for the extent_buffer codeChris Mason1-3/+8
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: Create extent_buffer interface for large blocksizesChris Mason1-16/+656
Signed-off-by: Chris Mason <[email protected]>
2008-09-25Btrfs: factor page private preparations into a helperChristoph Hellwig1-25/+15
Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2007-09-10Btrfs: [PATCH] extent_map: add writepage_end_io hookChristoph Hellwig1-0/+2
XFS updates the ondisk inode size only after the data I/O has finished, so it needs a hook when the writepage end_bio handler has finished. Might not be worth applying as-is as the per-page callback is very ineffcient. What XFS really wants is a callback when writeout of a whole extent has completed. This delayed i_size updates scheme might be worthwile for btrfs aswell, btw. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2007-09-10Btrfs: [PATCH] extent_map: make the writepage_io hook optionalChristoph Hellwig1-1/+6
The writepage_io is not mandatory, e.g. my port of xfs to the extent_map code does not have one for now. So handle a NULL pointer gracefully here. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2007-09-10Btrfs: [PATCH] extent_map: provide generic bmapChristoph Hellwig1-0/+19
generic_bmap is completely trivial, while the extent to bh mapping in btrfs is rather complex. So provide a extent_bmap instead that takes a get_extent callback and can be used by filesystem using the extent_map code. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2007-09-10Btrfs: [PATCH] extent_map: fix locking for bio completionChristoph Hellwig1-6/+8
The bio completion handlers can be run in any context, e.g. when using the old ide driver they run in hardirq context with irqs disabled so lockdep rightfully warns about using write_lock_irq useage in these handlers. This patch switches clear_extent_bit and set_extent_bit to write_lock_irqsave to fix this problem. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Chris Mason <[email protected]>