Commit Graph

58 Commits (9462e711a70c3820f490221eb2e4aeef0c8c495b)

Author SHA1 Message Date
Chris Mason 4f9e7f0bae Use leafsize and nodesize == pagesize for now 2008-04-09 19:49:01 -04:00
Chris Mason a37e1e7204 Recow all roots at the end of mkfs
The mkfs code bootstraps the filesystem on a single device.  Once
the raid block groups are setup, it needs to recow all of the blocks so
that each tree is properly allocated.
2008-04-04 15:42:17 -04:00
Chris Mason a57a255e44 Add mkfs options for data and metadata mirroring modes
mkfs.btrfs --data {raid0,raid1,single}
mkfs.btrfs --metadata {raid0,raid1,single}

In single mode, no extra duplication or striping is done.
In raid0 mode, blocks are spread across all of the available devices
In raid1 mode, blocks are mirrored across two devices.

For metadata, if raid1 is used and there is only one device, the
metadata is duplicated on that single spindle.

The defaults are raid0 for data and raid1 for metadata
2008-04-03 16:35:48 -04:00
Chris Mason c7be130df7 Add support for single single duplication of metadata 2008-04-03 16:35:48 -04:00
Chris Mason a6de0bd778 Add mirroring support across multiple drives 2008-04-03 16:35:48 -04:00
Chris Mason 6a87b4c00a Use getopt_long and introduce long mkfs options. -s now means --sectorsize 2008-04-01 11:08:13 -04:00
Goldwyn Rodrigues c2c5e3e7e5 check if partition is mounted before mkfs
This saves from the blunder of formatting a live mounted filesystem.
This can be extended to get the mount flags of the filesystem
mounted.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@gmail.com>
2008-04-01 10:36:46 -04:00
Chris Mason 0dcfa3b827 Walk all block devices looking for btrfs 2008-03-24 15:05:44 -04:00
Chris Mason 26afd0f31d ioctls to scan for btrfs filesystems 2008-03-24 15:04:49 -04:00
Chris Mason 510be29677 Add support for multiple devices per filesystem 2008-03-24 15:03:18 -04:00
Chris Mason 0c6513b1d1 mkfs: Zero 2MB at the start and end of the device
But, on sparc, don't zero the first 1k.
2008-02-15 11:19:26 -05:00
Yan 7777e63b42 Update btrfs-progs to match kernel sources 2008-01-04 10:38:22 -05:00
Chris Mason 7e03dadf20 Add online resizing ioctls
btrfsctl -r size mount_point
2007-12-21 16:25:35 -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 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
Chris Mason 1883251686 Add simple stripe size parameter 2007-11-30 11:30:24 -05:00
Chris Mason 678af9b3a4 Remove the last radix tree (block_group_cache) 2007-10-17 09:58:56 -04:00
Chris Mason 38f79f9077 Switch to byte granular allocations 2007-10-15 16:25:14 -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
Chris Mason 0528b69c15 add defrag ioctl 2007-08-07 16:15:59 -04:00
Chris Mason 65a545ff84 i386 fixes from axboe 2007-06-12 11:39:09 -04:00
Chris Mason d9f1317c7d add GPLv2 2007-06-12 09:07:11 -04:00
Chris Mason 38ef945266 printf cleanups 2007-06-12 08:08:04 -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 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 885f275a68 fsck checks against extent map, small fixes 2007-04-23 17:00:26 -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 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 d785b7d058 uuids 2007-04-05 14:29:12 -04:00
Chris Mason 1330edb0bc sync up with kernel sources 2007-04-02 14:18:17 -04:00
Chris Mason 132db51b1f generations on headers 2007-03-26 11:24:42 -04:00
Chris Mason 9fb549a6c1 mkfs and dir-test fixes 2007-03-22 16:01:01 -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 099f1ae6e4 Add inode map, and the start of file extent items 2007-03-20 14:38:32 -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 7a0a809b4c variable block size support 2007-03-14 14:14:43 -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