Commit Graph

239 Commits (bd2cc320aff5789fe4034736fa6da8b4ebae475f)

Author SHA1 Message Date
Chris Mason d12d4c7203 Dynamic chunk allocation 2008-03-24 15:03:58 -04:00
Chris Mason 510be29677 Add support for multiple devices per filesystem 2008-03-24 15:03:18 -04:00
Chris Mason aa69dec31c Add inode item and backref in one insert, reducing cpu usage 2008-01-29 15:15:18 -05:00
Chris Mason cbf87cad07 During deletes and truncate, remove many items at once from the tree 2008-01-29 15:11:36 -05:00
Chris Mason 80791984f6 Rename the extent_map code to extent_io
This mirrors the changes in the kernel code.
2008-03-04 11:16:54 -05:00
David Miller 8871a0eaa9 Unaligned access fixes
The first problem is that these SETGET macros lose typing information,
and therefore can't see the 'packed' attribute and therefore take
unaligned access SIGBUS signals on sparc64 when trying to derefernce
the member.

The next problem is a similar issue in btrfs_name_hash().  This gets
passed things like &key.offset which is a member of a packed
structure, losing this packed'ness information btrfs_name_hash()
performs a potentially unaligned memory access, again resulting in a
SIGBUS.
2008-02-15 11:19:58 -05:00
Chris Mason f64e047c7c Update magic 2008-02-04 10:11:12 -05:00
Chris Mason 8ee59c9f2a Change the magic to rev the disk format 2008-01-14 13:35:53 -05:00
Yan 3a3123bfc1 Add readonly inode flag
This patch adds readonly inode flag support.  A file with this flag
can't be modified, but can be deleted.
2008-01-14 13:35:00 -05:00
Yan b86a827172 A few update for btrfs-progs
Hello,

This patch adds inode flags definition to btrfs-progs and updates
extent-tree.c to match the kernel.
2008-01-08 15:55:08 -05:00
Yan 84b99666be Update find_free_extent for the ext3 conversion tool
This patch adds customized find_free_extent support to btrfs-progs,
the conversion program requires this.
2008-01-04 10:41:19 -05:00
Yan 7777e63b42 Update btrfs-progs to match kernel sources 2008-01-04 10:38:22 -05:00
Chris Mason 29bf1724b1 Reorder extent back refs to differentiate file data from btree blocks 2007-12-13 11:12:45 -05:00
Chris Mason 140d96a562 Create macros to generation set/get funcs for on disk structures 2007-12-12 14:39:46 -05:00
Chris Mason fba66bd865 Add back pointers from the inode to the directory that referenced it 2007-12-12 14:39:36 -05:00
Chris Mason 4122e65cb2 Add back pointers from extents to the file or btree referencing them 2007-12-11 09:21:42 -05:00
Chris Mason 73372dcf8f Add generation numbers to block pointers 2007-12-09 13:46:24 -05:00
Yan 07a4f1b81d Update btrfs-progs to better match the kernel 2007-12-05 10:41:38 -05:00
Chris Mason 1883251686 Add simple stripe size parameter 2007-11-30 11:30:24 -05:00
Josef Bacik e3815ddde6 xattr support for btrfs-progs 2007-11-16 11:46:07 -05:00
Chris Mason 678af9b3a4 Remove the last radix tree (block_group_cache) 2007-10-17 09:58:56 -04:00
Chris Mason 28de03cb0a Create a slightly more generic extent-caching structure 2007-10-15 16:25:41 -04:00
Chris Mason 38f79f9077 Switch to byte granular allocations 2007-10-15 16:25:14 -04:00
Chris Mason 08c66b7738 Stop using radix trees to record pending allocations 2007-10-15 16:25:04 -04:00
Chris Mason f12d799856 Allow large blocks 2007-10-15 16:24:39 -04:00
Josef Bacik ffaff17911 btrfs-progs support for root block accounting
This adds support for keeping track of the number of blocks used by
root_item's.  This makes it so that mkfs lays down the "default" subvol with
the correct block accounting in place.  Thank you,
2007-08-29 15:56:44 -04:00
Josef Bacik 4623a01bdc calculate checksums during IO 2007-06-28 16:20:29 -04:00
Chris Mason c3bbf0c093 disk format updates for finding dead roots 2007-06-22 14:37:48 -04:00
Chris Mason d9f1317c7d add GPLv2 2007-06-12 09:07:11 -04:00
Chris Mason b53a236c3e remove device tree 2007-06-09 09:22:37 -04:00
Chris Mason 84e9d08a4b endian fixes, makefile fixes 2007-06-07 22:12:21 -04:00
Chris Mason 9b25940b9d data vs metadata flag for block groups 2007-05-30 10:21:32 -04:00
Chris Mason 007e5efb9b allocator improvements, inode block groups 2007-04-30 15:25:49 -04:00
Chris Mason 5856b7e124 start of block group code 2007-04-26 16:46:06 -04:00
Chris Mason 10d06538f1 get rid of the extent_item type field 2007-04-24 12:09:01 -04:00
Chris Mason d7260c060c faster btrfsck 2007-04-23 15:56:27 -04:00
Chris Mason 2f2264fc2d add owner and type fields to the extents aand block headers 2007-04-20 20:23:29 -04:00
Chris Mason 07eb5008f3 bring back the inode number directory index 2007-04-19 15:41:24 -04:00
Chris Mason eb3bd5da66 inline file data in extents 2007-04-19 13:38:02 -04:00
Chris Mason 8c973943bb key flag reorg 2007-04-18 16:15:47 -04:00
Chris Mason 8d1d13c786 rework csum and extent item ordering 2007-04-17 15:40:34 -04:00
Chris Mason 23218726a2 early work to file_write in big extents 2007-04-16 09:23:09 -04:00
Chris Mason 3eaaf935e5 add some support for multiple devices to progs 2007-04-12 12:14:47 -04:00
Chris Mason d23ea8706c early support for multiple devices 2007-04-11 13:57:55 -04:00
Chris Mason 6d9ce71c81 use a different inode number for subvols than the root root dir 2007-04-11 08:58:53 -04:00
Chris Mason e52d2e2fa1 drop owner and parentid 2007-04-10 12:36:58 -04:00
Chris Mason 1b4ca380ed drop the inode map tree 2007-04-10 12:13:29 -04:00
Chris Mason 86c2d78728 groundwork for subvolume and snapshot roots 2007-04-09 10:42:55 -04:00
Chris Mason 8accdae27a start of support for subvolumes 2007-04-06 15:39:12 -04:00
Chris Mason b6414c8ee2 finish off inode indexing in dirs, add overflows 2007-04-05 12:13:45 -04:00
Chris Mason 6542904d95 dir inode index 2007-04-04 21:23:26 -04:00
Chris Mason 1330edb0bc sync up with kernel sources 2007-04-02 14:18:17 -04:00
Chris Mason b21892315c csum data struct changes 2007-03-29 15:15:49 -04:00
Chris Mason f66f572037 move csum fields around 2007-03-28 19:45:38 -04:00
Chris Mason 03b3655fb4 add generation to file extents 2007-03-27 09:15:24 -04:00
Chris Mason e6819928c8 first free objectid fixes 2007-03-27 06:25:01 -04:00
Chris Mason 4200896a53 add file extents to print_leaf 2007-03-26 16:01:00 -04:00
Chris Mason 132db51b1f generations on headers 2007-03-26 11:24:42 -04:00
Chris Mason 8a2c8123c5 create a root dir in mkfs 2007-03-21 11:13:29 -04:00
Chris Mason b55672a2a1 Better block record keeping, real mkfs 2007-03-20 20:35:03 -04:00
Chris Mason ab61081c6c change dir-test to insert inode_items 2007-03-20 15:57:25 -04:00
Chris Mason 099f1ae6e4 Add inode map, and the start of file extent items 2007-03-20 14:38:32 -04:00
Chris Mason f247156e4f transaction handles everywhere 2007-03-16 16:20:31 -04:00
Chris Mason 3d8c87f4f7 pin freed blocks from the FS tree too 2007-03-16 08:56:18 -04:00
Chris Mason 80fabe2ee0 add a name_len to dir items, reorder key 2007-03-16 08:46:49 -04:00
Chris Mason da085a5803 add inode item 2007-03-15 19:03:33 -04:00
Chris Mason e89de2d271 directory testing code and dir item fixes 2007-03-15 15:18:43 -04:00
Chris Mason da99898c78 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
2007-03-15 12:56:47 -04:00
Chris Mason c8afca944b reorder key offset and flags 2007-03-14 14:26:53 -04:00
Chris Mason 7a0a809b4c variable block size support 2007-03-14 14:14:43 -04:00
Chris Mason 942050de0e add leaf data casting helper 2007-03-14 10:31:29 -04:00
Chris Mason d9c9960f8d Change the super to point to a tree of trees to enable persistent snapshots 2007-03-13 16:47:54 -04:00
Chris Mason aa60202f13 rename funcs and structs to btrfs 2007-03-13 10:46:10 -04:00
Chris Mason 56042e6ad4 struct extent_item endian 2007-03-13 09:49:06 -04:00
Chris Mason 3192451f58 node->blockptrs endian fixes 2007-03-13 09:28:32 -04:00
Chris Mason f6a88938c6 struct item endian fixes 2007-03-12 20:12:07 -04:00
Chris Mason b2e2afd7b4 struct key endian fixes 2007-03-12 16:22:34 -04:00
Chris Mason ce3b109650 Add sparse endian annotations to struct header
rename struct header to btrfs_header
2007-03-12 12:29:44 -04:00
Chris Mason 8e17fab249 get/set for struct header fields 2007-03-12 12:01:18 -04:00
Chris Mason 2adfc44778 Fixup last found extent caching 2007-03-07 16:15:30 -05:00
Chris Mason 79b90e3fdf Fixup reference counting on cows 2007-03-06 20:08:01 -05:00
Chris Mason 7da449a2f6 early reference counting 2007-03-02 16:08:05 -05:00
Chris Mason a71a25da69 pretend page cache & commit code 2007-03-01 18:59:40 -05:00
Chris Mason 8f3b86bae3 Add fsx-style randomized tree tester
Add debug-tree command to print the tree
Add extent-tree.c to the repo
Comment ctree.h
2007-02-26 10:40:21 -05:00
Chris Mason 74556aa757 Break up ctree.c a little
Extent fixes
2007-02-24 06:24:44 -05:00
Chris Mason c6c63c3e74 Block sized tree extents and extent deletion 2007-02-23 08:38:36 -05:00
Chris Mason 72777fbe29 extent fixes 2007-02-21 17:04:57 -05:00
Chris Mason c12e4863d2 early extent mapping support 2007-02-20 16:40:44 -05:00
Chris Mason 215ad20a9b Add backing store, memory management 2007-02-02 09:18:22 -05:00