summaryrefslogtreecommitdiff
path: root/fs/btrfs/extent_map.c
AgeCommit message (Collapse)AuthorFilesLines
2007-09-11Btrfs: [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 <hch@lst.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-11Btrfs: [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 <hch@lst.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-11Btrfs: Reorder tests in set_extent_bit to properly find holesChris Mason1-22/+22
Yan Zheng noticed that set_extent_bit was exiting too early when there was a hole in the map. The fix is to reorder the tests to check for the hole first. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-11Add support for defragging files via btrfsctl -d. Avoid OOM on extent treeChris Mason1-6/+10
defrag. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-30Btrfs: fsx delalloc fixesChris Mason1-2/+7
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-30Btrfs: Add file data csums back in via hooks in the extent map codeChris Mason1-10/+84
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-28Btrfs: Add delayed allocation to the extent based page tree codeChris Mason1-35/+112
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-28Btrfs: Extent based page cache code. This uses an rbtree of extents and testsChris Mason1-0/+1656
instead of buffer heads. Signed-off-by: Chris Mason <chris.mason@oracle.com>