summaryrefslogtreecommitdiff
path: root/fs/btrfs/ctree.h
AgeCommit message (Collapse)AuthorFilesLines
2008-09-25Btrfs: Stop using radix trees for the block group cacheChris Mason1-5/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25Btrfs: Fix extent_buffer and extent_state leaksChris Mason1-1/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25Btrfs: Avoid memcpy where possible in extent_buffersChris Mason1-5/+40
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25Btrfs: Optimizations for the extent_buffer codeChris Mason1-5/+43
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25Btrfs: Create extent_buffer interface for large blocksizesChris Mason1-534/+315
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-14Btrfs: use unlocked_ioctlChristoph Hellwig1-4/+1
No reason to grab the BKL before calling into the btrfs ioctl code. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-11Btrfs: Find and remove dead roots the first time a root is loaded.Chris Mason1-1/+2
Dead roots are trees left over after a crash, and they were either in the process of being removed or were waiting to be removed when the box crashed. Before, a search of the entire tree of root pointers was done on mount looking for dead roots. Now, the search is done the first time we load a root. This makes mount faster when there are a large number of snapshots, and it enables the block accounting code to properly update the block counts on the latest root as old versions of the root are reaped after a crash. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-11Btrfs: Add more synchronization before creating a snapshotChris Mason1-0/+1
File data checksums are only done during writepage, so we have to make sure all pages are written when the snapshot is taken. This also adds some locking so that new writes don't race in and add new dirty pages. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29Btrfs: Use mount -o subvol to select the subvol directory instead of dev:Chris Mason1-0/+6
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29Btrfs: Add per-root block accounting and sysfs entriesJosef Bacik1-0/+54
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/+7
instead of buffer heads. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-11Btrfs: delay commits during fsync to allow more writersJosef Bacik1-0/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-10Btrfs: Btree defrag on the extent-mapping tree as wellChris Mason1-1/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-09Btrfs: Replace extent tree preallocation code with some bit radix magic.Chris Mason1-6/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-08Btrfs: Let some locks go during defrag and snapshot droppingChris Mason1-2/+2
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-08Btrfs: Add run time btree defrag, and an ioctl to force btree defragChris Mason1-2/+17
This adds two types of btree defrag, a run time form that tries to defrag recently allocated blocks in the btree when they are still in ram, and an ioctl that forces defrag of all btree blocks. File data blocks are not defragged yet, but this can make a huge difference in sequential btree reads. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-07Btrfs: Fold some btree readahead routines into something more generic.Chris Mason1-0/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-07Btrfs: Do snapshot deletion in smaller chunks.Chris Mason1-2/+2
Before, snapshot deletion was a single atomic unit. This caused considerable lock contention and required an unbounded amount of space. Now, the drop_progress field in the root item is used to indicate how far along snapshot deletion is, and to resume where it left off. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-28Btrfs: crash recovery fixesChris Mason1-8/+4
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-26Btrfs: Fix super block updates during transaction commitChris Mason1-0/+1
The super block written during commit was not consistent with the state of the trees. This change adds an in-memory copy of the super so that we can make sure to write out consistent data during a commit. Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-22Btrfs: Add the ability to find and remove dead roots after a crash.Chris Mason1-2/+15
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-22Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stackChris Mason1-3/+0
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-22Btrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machinesChris Mason1-4/+0
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-15Btrfs: patch queue: page_mkwriteChris Mason1-0/+2
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12Btrfs: add GPLv2Chris Mason1-0/+18
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12Btrfs: split up super.cChris Mason1-1/+24
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12Btrfs: fix oops after block group lookupChris Mason1-0/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-09Btrfs: remove device treeChris Mason1-101/+4
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-09Btrfs: get forced transaction commits via workqueueChris Mason1-1/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-08Btrfs: add compat ioctlChris Mason1-2/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-08Btrfs: d_type optimizationChris Mason1-0/+10
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-30Btrfs: block group switchingChris Mason1-1/+4
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-29Btrfs: fixup various fsx failuresChris Mason1-0/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-24Btrfs: sparse files!Chris Mason1-0/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-23Btrfs: renameChris Mason1-0/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-21Btrfs: 2.6.21-git fixesChris Mason1-2/+0
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-18Btrfs: allocator optimizations, truncate readaheadChris Mason1-1/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-10Btrfs: switch to crc32c instead of sha256Chris Mason1-1/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-10Btrfs: many allocator fixes, pretty solidChris Mason1-0/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-08Btrfs: allocator and tuningChris Mason1-0/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-06Btrfs: more allocator enhancementsChris Mason1-2/+5
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-03Btrfs: early metadata/data splitChris Mason1-1/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-02Btrfs: fix page cache memory leakChris Mason1-0/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-30Btrfs: allocator improvements, inode block groupsChris Mason1-1/+17
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-27Btrfs: more block allocator workChris Mason1-1/+3
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-27Btrfs: start of block group codeChris Mason1-15/+51
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-25Btrfs: change around extent-tree preallocChris Mason1-3/+7
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-24Btrfs: get rid of the extent_item type fieldChris Mason1-15/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-21Btrfs: add owner and type fields to the extents aand block headersChris Mason1-3/+42
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-20Btrfs: write barriers on commit, balance level before splitChris Mason1-0/+1
Signed-off-by: Chris Mason <chris.mason@oracle.com>