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
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
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
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
9ebefb180b
Btrfs: patch queue: page_mkwrite
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-15 13:50:00 -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
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
Chris Mason
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
Chris Mason
08607c1b18
Btrfs: add compat ioctl
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-08 15:33:54 -04:00
Chris Mason
fabb568183
Btrfs: d_type optimization
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-06-07 22:13:21 -04:00
Chris Mason
1e2677e000
Btrfs: block group switching
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-29 16:52:18 -04:00
Chris Mason
1de037a43e
Btrfs: fixup various fsx failures
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-29 15:17:08 -04:00
Chris Mason
3a68637562
Btrfs: sparse files!
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-24 13:35:57 -04:00
Chris Mason
e06afa839e
Btrfs: rename
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-23 15:44:28 -04:00
Chris Mason
f9f3c6b666
Btrfs: 2.6.21-git fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-21 14:05:12 -04:00
Chris Mason
de428b63b1
Btrfs: allocator optimizations, truncate readahead
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-18 13:28:27 -04:00
Chris Mason
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
Chris Mason
e37c9e6921
Btrfs: many allocator fixes, pretty solid
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-09 20:13:14 -04:00
Chris Mason
3e1ad54fe2
Btrfs: allocator and tuning
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-07 20:03:49 -04:00
Chris Mason
be74417553
Btrfs: more allocator enhancements
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-06 10:15:01 -04:00
Chris Mason
be08c1b9f8
Btrfs: early metadata/data split
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-03 09:06:49 -04:00
Chris Mason
35b7e47610
Btrfs: fix page cache memory leak
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-05-02 15:53:43 -04:00
Chris Mason
31f3c99b73
Btrfs: allocator improvements, inode block groups
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-30 15:25:45 -04:00
Chris Mason
cd1bc4653d
Btrfs: more block allocator work
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-27 10:08:34 -04:00
Chris Mason
9078a3e1e4
Btrfs: start of block group code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-26 16:46:15 -04:00
Chris Mason
f2458e1d8c
Btrfs: change around extent-tree prealloc
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-25 15:52:25 -04:00
Chris Mason
c62a1920ce
Btrfs: get rid of the extent_item type field
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-24 12:07:39 -04:00
Chris Mason
4d77567309
Btrfs: add owner and type fields to the extents aand block headers
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-20 20:23:12 -04:00
Chris Mason
e66f709b15
Btrfs: write barriers on commit, balance level before split
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-20 13:16:02 -04:00
Chris Mason
8fd17795b2
Btrfs: early fsync support
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-19 21:01:03 -04:00
Chris Mason
7e38180e20
Btrfs: directory inode index is back
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-19 15:36:27 -04:00
Chris Mason
236454dfff
Btrfs: many file_write fixes, inline data
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-19 13:37:44 -04:00
Chris Mason
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
Chris Mason
70b2befd0c
Btrfs: rework csums and extent item ordering
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-17 15:39:32 -04:00
Chris Mason
b18c668581
Btrfs: progress on file_write
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-17 13:26:50 -04:00
Chris Mason
6567e837df
Btrfs: early work to file_write in big extents
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-16 09:22:45 -04:00
Chris Mason
b4100d6424
Btrfs: add a device id to device items
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-12 12:14:00 -04:00
Chris Mason
7eccb903a8
Btrfs: create a logical->phsyical block number mapping scheme
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-11 15:53:25 -04:00
Chris Mason
0bd93ba022
Btrfs: early support for multiple devices
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-11 13:57:44 -04:00
Chris Mason
cac87faa09
Btrfs: use a dedicated inode num for root root dir
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-11 08:59:20 -04:00
Chris Mason
d0dbc6245c
Btrfs: drop owner and parentid
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-10 12:36:36 -04:00
Chris Mason
1b05da2ee6
Btrfs: drop the inode map tree
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-10 12:13:09 -04:00
Chris Mason
c5739bba52
Btrfs: snapshot progress
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-10 09:27:04 -04:00
Chris Mason
0f7d52f443
Btrfs: groundwork for subvolume and snapshot roots
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-09 10:42:37 -04:00
Chris Mason
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
Chris Mason
5be6f7f174
Btrfs: dirindex optimizations
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-05 13:35:25 -04:00
Chris Mason
7fcde0e329
Btrfs: finish off inode indexing in dirs, add overflows
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-05 12:13:21 -04:00
Chris Mason
5f26f772e5
Btrfs: more inode indexed directory work
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-05 10:38:44 -04:00
Chris Mason
bae45de03c
Btrfs: add dir inode index
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-04 21:22:22 -04:00
Chris Mason
b1a4d96509
Btrfs: tweak the inode-map and free extent search starts on cold mount
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-04 15:27:52 -04:00
Chris Mason
2c90e5d658
Btrfs: still corruption hunting
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-04-02 10:50:19 -04:00
Chris Mason
d602557953
Btrfs: corruption hunt continues
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-30 14:27:56 -04:00
Chris Mason
f254e52c1c
Btrfs: verify csums on read
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-29 15:15:27 -04:00
Chris Mason
87cbda5c1f
Btrfs: sha256 csums on metadata
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-28 19:44:27 -04:00
Chris Mason
d98237b3ed
Btrfs: use a btree inode instead of sb_getblk
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-28 13:57:48 -04:00
Chris Mason
9773a78868
Btrfs: byte offsets for file keys
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-27 11:26:26 -04:00
Chris Mason
71951f35a6
Btrfs: add generation field to file extent
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-27 09:16:29 -04:00
Chris Mason
9a6f11ed8f
Btrfs: split out level field in struct header
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-27 09:06:38 -04:00
Chris Mason
6407bf6d7c
Btrfs: reference counts on data extents
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-27 06:33:00 -04:00
Chris Mason
dee26a9f7a
btrfs_get_block, file read/write
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-26 16:00:06 -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
d561c025ee
Btrfs: very minimal locking
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-23 19:47:49 -04:00
Chris Mason
7f5c15160e
Add generation number to btrfs_header, readdir fixes, hash collision fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-23 15:56:19 -04:00
Chris Mason
d571976292
btrfs_create, btrfs_write_super, btrfs_sync_fs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-23 10:01:08 -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
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
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
e089f05c18
Btrfs: transaction handles everywhere
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-16 16:20:31 -04:00
Chris Mason
88fd146c27
Btrfs: pin freed blocks from the FS tree too
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-16 08:56:18 -04:00
Chris Mason
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
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
a1516c8921
Btrfs: reorder key offset and flags
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-14 14:26:53 -04:00
Chris Mason
123abc88c9
Btrfs: variable block size support
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-14 14:14:43 -04:00
Chris Mason
4beb1b8b75
Btrfs: add leaf data casting helper
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-14 10:31:29 -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
234b63a091
rename funcs and structs to btrfs
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-13 10:46:10 -04:00
Chris Mason
cf27e1eec0
Btrfs: struct extent_item endian
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-13 09:49:06 -04:00
Chris Mason
1d4f8a0c1e
Btrfs: node->blockptrs endian fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-13 09:28:32 -04:00
Chris Mason
0783fcfc4d
Btrfs: struct item endian fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-12 20:12:07 -04:00
Chris Mason
e2fa7227cd
Btrfs: struct key endian fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-12 16:22:34 -04:00
Chris Mason
bb492bb0a5
Btrfs: Add sparse endian annotations to struct header
...
rename struct header to btrfs_header
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-12 12:29:44 -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
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
02217ed299
Btrfs: early reference counting
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-02 16:08:05 -05:00
Chris Mason
ed2ff2cba7
Btrfs: pretend page cache & commit code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-03-01 18:59:40 -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
9a8dd1502d
Btrfs: Block sized tree extents and extent deletion
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-23 08:38:36 -05:00
Chris Mason
cfaa72952f
Btrfs: extent fixes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2007-02-21 17:04:57 -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