Chris Mason
86479a04ee
Add support for defragging files via btrfsctl -d. Avoid OOM on extent tree
...
defrag.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-10 19:58:16 -04:00
Chris Mason
8e21528f87
Btrfs: remove extra drop_extent_cache call
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-30 12:16:51 -04:00
Chris Mason
2bf5a725a3
Btrfs: fsx delalloc fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-30 11:54:02 -04:00
Chris Mason
07157aacb1
Btrfs: Add file data csums back in via hooks in the extent map code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-30 08:50:51 -04:00
Chris Mason
95e0528919
Btrfs: Use mount -o subvol to select the subvol directory instead of dev:
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29 09:11:44 -04:00
Yan
e9fe395e47
Btrfs: Fix oopsen in extent_tree.c during enospc
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29 09:11:44 -04:00
Yan
4b82d6e4a5
Btrfs: Add mount into directory support
...
Modified form of original patch from Christoph Hellwig to make btrfs
mount into the default subvolume by default.
mount /dev/somedevice:subvolumename to get other subvolumes or
mount /dev/somedevice:. to get the root
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29 09:11:44 -04:00
Yan
1b4ab1bb4b
Btrfs: Fix mknod to properly send rdev info back to disk
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29 09:11:44 -04:00
Yan
252c38f069
Btrfs: ctree.c cleanups
...
Fixup a few buffer_head release errors, and fix an off by one in
balance_node_right.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-29 09:11:44 -04:00
Josef Bacik
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
Chris Mason
b888db2bd7
Btrfs: Add delayed allocation to the extent based page tree code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-27 16:49:44 -04:00
Chris Mason
a52d9a8033
Btrfs: Extent based page cache code. This uses an rbtree of extents and tests
...
instead of buffer heads.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-27 16:49:44 -04:00
Chris Mason
83df7c1d8b
Btrfs: Make sure to cow the root during a snapshot
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-27 16:49:44 -04:00
Chris Mason
2cc58cf24f
Btrfs: Do more extensive readahead during tree searches
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-27 16:49:44 -04:00
Yan
3202061128
fix block readahead in btrfs_next_leaf
...
Send the correct slot down to reada_for_search
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-27 15:17:54 -04:00
Josef Bacik
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
Chris Mason
f2183bde1a
Btrfs: Add BH_Defrag to mark buffers that are in need of defragging
...
This allows the tree walking code to defrag only the newly allocated
buffers, it seems to be a good balance between perfect defragging and the
performance hit of repeatedly reallocating blocks.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-10 14:42:37 -04:00
Chris Mason
e9d0b13b5b
Btrfs: Btree defrag on the extent-mapping tree as well
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-10 14:06:19 -04:00
Chris Mason
409eb95d7f
Btrfs: Further reduce the concurrency penalty of defrag and drop_snapshot
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-08 20:17:12 -04:00
Chris Mason
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
Chris Mason
f4468e94c8
Btrfs: Let some locks go during defrag and snapshot dropping
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-08 10:08:58 -04:00
Chris Mason
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
Chris Mason
3c69faecb8
Btrfs: Fold some btree readahead routines into something more generic.
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-08-07 15:52:22 -04:00
Chris Mason
9f3a742736
Btrfs: Do snapshot deletion in smaller chunks.
...
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-08-07 15:52:19 -04:00
Joel Becker
8578f0f1fd
Btrfs: cleaner make clean
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-07-25 14:04:51 -04:00
Chris Mason
92fee66d49
Btrfs: deal with api changes in 2.6.23-rc1
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-07-25 12:31:35 -04:00
Josef Bacik
618e21d595
Btrfs: Implement mknod
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-07-11 10:18:17 -04:00
Aneesh
a1f396304f
Btrfs: Some code cleanups
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-07-11 10:03:27 -04:00
Zach Brown
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
Chris Mason
ccd467d60e
Btrfs: crash recovery fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-28 15:57:36 -04:00
Chris Mason
f2654de42a
Btrfs: Allow find_free_extent callers to pass in an exclusion range
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-26 12:20:46 -04:00
Chris Mason
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
Chris Mason
79c44584ea
Btrfs: Fix mtime and ctime updates on parent dirs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-25 10:09:33 -04:00
Chris Mason
22bb92f376
Btrfs: Documentation update
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-22 14:49:31 -04:00
Chris Mason
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
Chris Mason
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
Chris Mason
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
Chris Mason
e011599b0f
Btrfs: reada while dropping snapshots
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-19 16:23:05 -04:00
Chris Mason
85e55b13e4
Btrfs: cache the extent tree preallocation
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-19 15:50:51 -04:00
Chris Mason
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
Chris Mason
9ebefb180b
Btrfs: patch queue: page_mkwrite
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-15 13:50:00 -04:00
Aneesh
f1ace244c8
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>
2007-06-13 16:18:26 -04:00
Chris Mason
340887809d
Btrfs: i386 fixes from axboe
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12 11:36:58 -04:00
Chris Mason
6cbd557078
Btrfs: add GPLv2
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12 09:07:21 -04:00
Chris Mason
8a712645c3
Btrfs: no slashes in subvolume names
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12 08:21:35 -04:00
Chris Mason
5af3981c18
Btrfs: printk fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12 07:50:13 -04:00
Chris Mason
84f54cfa78
Btrfs: 64 bit div fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12 07:43:08 -04:00
Chris Mason
39279cc3d2
Btrfs: split up super.c
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-12 06:35:45 -04:00
Chris Mason
5276aedab0
Btrfs: fix oops after block group lookup
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-11 21:33:38 -04:00
Chris Mason
0cf6c62017
Btrfs: remove device tree
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-09 09:22:25 -04:00