bcc63abbf3
Btrfs: implement memory reclaim for leaf reference cache
...
The memory reclaiming issue happens when snapshot exists. In that
case, some cache entries may not be used during old snapshot dropping,
so they will remain in the cache until umount.
The patch adds a field to struct btrfs_leaf_ref to record create time. Besides,
the patch makes all dead roots of a given snapshot linked together in order of
create time. After a old snapshot was completely dropped, we check the dead
root list and remove all cache entries created before the oldest dead root in
the list.
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:04:05 -04:00
ca7a79ad8d
Btrfs: Pass down the expected generation number when reading tree blocks
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:04:03 -04:00
e17cade25f
Btrfs: Add chunk uuids and update multi-device back references
...
Block headers now store the chunk tree uuid
Chunk items records the device uuid for each stripes
Device extent items record better back refs to the chunk tree
Block groups record better back refs to the chunk tree
The chunk tree format has also changed. The objectid of BTRFS_CHUNK_ITEM_KEY
used to be the logical offset of the chunk. Now it is a chunk tree id,
with the logical offset being stored in the offset field of the key.
This allows a single chunk tree to record multiple logical address spaces,
upping the number of bytes indexed by a chunk tree from 2^64 to
2^128.
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:04:01 -04:00
0d81ba5dbe
Btrfs: Move device information into the super block so it can be scanned
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:04:01 -04:00
0b86a832a1
Btrfs: Add support for multiple devices per filesystem
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:04:00 -04:00
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
5103e947b9
xattr support for btrfs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2008-09-25 11:03:57 -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
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
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
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
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
35b7e47610
Btrfs: fix page cache memory leak
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-05-02 15:53:43 -04:00
9078a3e1e4
Btrfs: start of block group code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-04-26 16:46:15 -04:00
a429e51371
Btrfs: working file_write, reorganized key flags
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-04-18 16:15:28 -04:00
d0dbc6245c
Btrfs: drop owner and parentid
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-04-10 12:36:36 -04:00
1b05da2ee6
Btrfs: drop the inode map tree
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-04-10 12:13:09 -04:00
d6e4a428eb
Btrfs: start of support for many FS volumes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-04-06 15:37:36 -04:00
e20d96d64f
Mountable btrfs, with readdir
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-22 12:13:20 -04:00
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
293ffd5fd3
Btrfs: change dir-test to insert inode_items
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-20 15:57:25 -04:00
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
a8a2ee0c60
Btrfs: add a name_len to dir items, reorder key
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-16 08:46:49 -04:00
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
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
a1516c8921
Btrfs: reorder key offset and flags
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-14 14:26:53 -04:00
123abc88c9
Btrfs: variable block size support
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-14 14:14:43 -04:00
4beb1b8b75
Btrfs: add leaf data casting helper
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-14 10:31:29 -04:00
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
234b63a091
rename funcs and structs to btrfs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-13 10:46:10 -04:00
1d4f8a0c1e
Btrfs: node->blockptrs endian fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-13 09:28:32 -04:00
0783fcfc4d
Btrfs: struct item endian fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-12 20:12:07 -04:00
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
a28ec19775
Btrfs: Fixup reference counting on cows
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-03-06 20:08:01 -05:00
d16302ab0e
Btrfs: more 32 bit cleanups
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-02-26 14:26:58 -05:00
41903fe666
Btrfs: 32bit cleanups
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-02-26 10:55:42 -05:00
7cf75962ac
Btrfs: u64 cleanups
...
Signed-off-by: Chris Mason <chris.mason@oracle.com >
2007-02-26 10:55:01 -05:00
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