7bb86316c3
Btrfs: Add back pointers from extents to the btree or file referencing them
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:58 -04:00
87ee04eb0f
Btrfs: Add simple stripe size parameter
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:58 -04:00
ca6646264b
Btrfs: Add efficient dirty accounting to the extent_map tree
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:58 -04:00
448d640b66
Btrfs: Fine tune the btree writeback exclusion some more
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:58 -04:00
8790bad7fb
Btrfs: Only limit btree writeback for pdflush
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:58 -04:00
793955bca6
Btrfs: Limit btree writeback to prevent seeks
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:58 -04:00
324ae4df00
Btrfs: Add block group pinned accounting back
...
This patch adds a helper function 'update_pinned_extents' to
extent-tree.c. The usage of the helper function is similar to
'update_block_group', the last parameter of the function indicates
pin vs unpin.
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:57 -04:00
0da5468f47
Btrfs: Use writepages for the metadata too
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:57 -04:00
35ebb934bd
Btrfs: Fix PAGE_CACHE_SHIFT shifts on 32 bit machines
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:57 -04:00
44b36eb20b
Btrfs: Properly setup root key while reading the root
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:57 -04:00
ff79f8190b
Btrfs: Add back file data checksumming
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:57 -04:00
304fced668
Btrfs: balance_dirty_pages_ratelimited is causing problems, use nr == 1 always
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
19c00ddcc3
Btrfs: Add back metadata checksumming
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
810191ff30
Btrfs: extent_map optimizations to cut down on CPU usage
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
4dc119046d
Btrfs: Add an extent buffer LRU to reduce radix tree hits
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
6b80053d02
Btrfs: Add back the online defragging code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
09e71a3263
Btrfs: Use an array of pages in the extent buffers to reduce the cost of find_get_page
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
db94535db7
Btrfs: Allow tree blocks larger than the page size
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
1a5bc167f6
Btrfs: Change the remaining radix trees used by extent-tree.c to extent_map trees
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
96b5179d0d
Btrfs: Stop using radix trees for the block group cache
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
f510cfecfc
Btrfs: Fix extent_buffer and extent_state leaks
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
6d36dcd48f
Btrfs: Avoid memcpy where possible in extent_buffers
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
5f39d397df
Btrfs: Create extent_buffer interface for large blocksizes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:56 -04:00
d3c2fdcf7b
Btrfs: Use balance_dirty_pages_nr on btree blocks
...
btrfs_btree_balance_dirty is changed to pass the number of pages dirtied
for more accurate dirty throttling. This lets the VM make better decisions
about when to force some writeback.
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:00:48 -04:00
5ce14bbcdd
Btrfs: Find and remove dead roots the first time a root is loaded.
...
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-11 11:15:39 -04:00
011410bd85
Btrfs: Add more synchronization before creating a snapshot
...
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-09-10 19:58:36 -04:00
58176a9604
Btrfs: Add per-root block accounting and sysfs entries
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-08-29 15:47:34 -04:00
15ee9bc7ed
Btrfs: delay commits during fsync to allow more writers
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-08-10 16:22:09 -04:00
26b8003f10
Btrfs: Replace extent tree preallocation code with some bit radix magic.
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-08-08 20:17:12 -04:00
6702ed490c
Btrfs: Add run time btree defrag, and an ioctl to force btree defrag
...
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-07 16:15:09 -04:00
ec6b910fb3
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 >
2007-07-11 10:00:37 -04:00
ccd467d60e
Btrfs: crash recovery fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-28 15:57:36 -04:00
4b52dff6d3
Btrfs: Fix super block updates during transaction commit
...
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-26 10:06:50 -04:00
5eda7b5e9b
Btrfs: Add the ability to find and remove dead roots after a crash.
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-22 14:16:25 -04:00
54aa1f4dfd
Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stack
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-22 14:16:25 -04:00
11bd143fc8
Btrfs: Switch to libcrc32c to avoid problems with cryptomgr on highmem machines
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-22 14:16:24 -04:00
8c2383c3dd
Subject: Rework btrfs_file_write to only allocate while page locks are held
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-18 09:57:58 -04:00
9ebefb180b
Btrfs: patch queue: page_mkwrite
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-15 13:50:00 -04:00
340887809d
Btrfs: i386 fixes from axboe
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-12 11:36:58 -04:00
6cbd557078
Btrfs: add GPLv2
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-12 09:07:21 -04:00
5af3981c18
Btrfs: printk fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-12 07:50:13 -04:00
39279cc3d2
Btrfs: split up super.c
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-12 06:35:45 -04:00
0cf6c62017
Btrfs: remove device tree
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-09 09:22:25 -04:00
facda1e787
Btrfs: get forced transaction commits via workqueue
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-08 18:11:48 -04:00
08607c1b18
Btrfs: add compat ioctl
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-06-08 15:33:54 -04:00
f9f3c6b666
Btrfs: 2.6.21-git fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-05-21 14:05:12 -04:00
de428b63b1
Btrfs: allocator optimizations, truncate readahead
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-05-18 13:28:27 -04:00
509659cde5
Btrfs: switch to crc32c instead of sha256
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-05-10 12:36:17 -04:00
e37c9e6921
Btrfs: many allocator fixes, pretty solid
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-05-09 20:13:14 -04:00
be74417553
Btrfs: more allocator enhancements
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-05-06 10:15:01 -04:00