Chris Mason
d1310b2e0c
Btrfs: Split the extent_map code into two parts
...
There is now extent_map for mapping offsets in the file to disk and
extent_io for state tracking, IO submission and extent_bufers.
The new extent_map code shifts from [start,end] pairs to [start,len], and
pushes the locking out into the caller. This allows a few performance
optimizations and is easier to use.
A number of extent_map usage bugs were fixed, mostly with failing
to remove extent_map entries when changing the file.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:59 -04:00
Yan
caaca38b8f
Btrfs: Fix compile on kernel without ACLs enabled
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:59 -04:00
Chris Mason
dc17ff8f11
Btrfs: Add data=ordered support
...
This forces file data extents down the disk along with the metadata that
references them. The current implementation is fairly simple, and just
writes out all of the dirty pages in an inode before the commit.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:59 -04:00
Josef Bacik
5103e947b9
xattr support for btrfs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
0f82731fc5
Breakout BTRFS_SETGET_FUNCS into a separate C file, the inlines were too big.
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
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
Jan Engelhardt
432eba0882
Btrfs: Simplify makefile
...
Single-colons will do here.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-14 10:22:19 -04:00
Chris Mason
84a5d5eefd
Btrfs: add modules_install target
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-09-14 09:43:53 -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
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
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
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
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
8ef97622ca
Btrfs: add a radix back bit tree
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-26 10:15:30 -04:00
Chris Mason
79154b1b5b
Btrfs: transaction rework
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-22 15:59:16 -04:00
Chris Mason
e20d96d64f
Mountable btrfs, with readdir
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-22 12:13:20 -04:00
Chris Mason
2e635a2783
Btrfs: initial move to kernel module land
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-21 11:12:56 -04:00
Chris Mason
1261ec42b3
Btrfs: Better block record keeping, real mkfs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-20 20:35:03 -04:00
Chris Mason
9f5fae2fe6
Btrfs: Add inode map, and the start of file extent items
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-20 14:38:32 -04:00
Chris Mason
631d7d950a
Btrfs: add transaction.h to the Makefile
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-20 09:13:49 -04:00
Chris Mason
e089f05c18
Btrfs: transaction handles everywhere
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-16 16:20:31 -04:00
Chris Mason
1e1d27017c
Btrfs: add inode item
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-15 19:03:33 -04:00
Chris Mason
1d4f6404de
Btrfs: directory testing code and dir item fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-15 15:18:43 -04:00
Chris Mason
62e2749e03
Btrfs: Use a chunk of the key flags to record the item type.
...
Add (untested and simple) directory item code
Fix comp_keys to use the new key ordering
Add btrfs_insert_empty_item
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-15 12:56:47 -04:00
Chris Mason
3768f3689f
Btrfs: Change the super to point to a tree of trees to enable persistent snapshots
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-13 16:47:54 -04:00
Chris Mason
7518a238ea
Btrfs: get/set for struct header fields
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-12 12:01:18 -04:00
Chris Mason
0579da4280
Btrfs: Fixup last found extent caching
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-07 16:15:30 -05:00
Chris Mason
037e639048
Btrfs: get rid of add recursion
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-07 11:50:24 -05:00
Chris Mason
a28ec19775
Btrfs: Fixup reference counting on cows
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-06 20:08:01 -05:00
Chris Mason
79f95c82dc
Btrfs: Fixup the code to merge during path walks
...
Add a bulk insert/remove test to random-test
Add the quick-test code back as another regression test
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-01 15:16:26 -05:00
Chris Mason
aa5d6bed25
Btrfs: return code checking
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-28 16:35:06 -05:00
Chris Mason
af86d07efe
Btrfs: Add sparse checking to Makefile
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-28 09:40:58 -05:00
Chris Mason
7cf75962ac
Btrfs: u64 cleanups
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-26 10:55:01 -05:00
Chris Mason
fec577fb7f
Btrfs: Add fsx-style randomized tree tester
...
Add debug-tree command to print the tree
Add extent-tree.c to the repo
Comment ctree.h
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-26 10:40:21 -05:00
Chris Mason
5de08d7d50
Btrfs: Break up ctree.c a little
...
Extent fixes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-24 06:24:44 -05:00
Chris Mason
d97e63b69e
Btrfs: early extent mapping support
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-20 16:40:44 -05:00
Chris Mason
eb60ceac0e
Btrfs: Add backing store, memory management
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-02 09:18:22 -05:00
Chris Mason
4920c9ac9a
Btrfs: Faster deletes, add Makefile and kerncompat
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-01-26 16:38:42 -05:00