summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add scan of the btrfs log tree to btrfs-debug-treeChris Mason2009-04-15
|
* Fix showblocks to display different colors for different metadata rootsChris Mason2009-03-09
|
* Add man/btrfsck.8.in and Makefile for man pagesGoldwyn Rodrigues2009-01-21
| | | | Signed-off-by: Goldwyn Rodrigues <rgoldwyn@gmail.com>
* Add man/btrfsctl.8.inGoldwyn Rodrigues2009-01-21
| | | | Signed-off-by: Goldwyn Rodrigues <rgoldwyn@gmail.com>
* Add man/mkfs.btrfs.8.inGoldwyn Rodrigues2009-01-21
| | | | | | | | | Kept the name with the name in, so that further processing such as BUILD_DATE BUILD_VERSION etc. could be included later. All man pages included in the man directory to avoid file cluttering. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.de>
* btrfsck.c: bit-fields should be unsignedWang Cong2009-01-21
| | | | | Signed-off-by: WANG Cong <wangcong@zeuux.org>
* btrfsck: Exit and print error message when not able to open a deviceThadeu Lima de Souza Cascardo2009-01-21
| | | | | | If btrfsck is not able to open a device, it segfaults. This fixes it and prints an error message too.
* btrfs-image.c: fix return valuesWang Cong2009-01-21
| | | | | | | | - Exit with non-zero when fail; - Don't exit in non-main functions, return. Signed-off-by: WANG Cong <wangcong@zeuux.org>
* btrfs-progs: make several functions staticWang Cong2009-01-21
| | | | | | | Make several functions static, and make one argument const. Signed-off-by: WANG Cong <wangcong@zeuux.org>
* Fix misleading error message in btrfsctlCalvin Walton2009-01-21
| | | | | | This updates Peter Klotz's original patch to use perror instead of fprintf when it fails to open /dev/btrfs-control
* Mention minimum size on devices that are considered too smallJan Engelhardt2009-01-21
| | | | | Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
* Modify Makefile to include man directoryGoldwyn Rodrigues2009-01-21
|
* Update convert for uninitialized block groupsYan Zheng2009-01-21
| | | | | | | | | | | There is a new feature 'uninitialized block groups' in ext4. Block and inode bitmaps in uninitialized block groups are uninitialized. This confuses the converter. The fix is call ext2fs_new_inode for each block group at open time. It set up uninitialized block and inode bitmaps appropriately. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Drop bit-radix.[ch] filesChris Mason2009-01-21
| | | | | | | These are no longer in use Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Update version.sh to 0.18Chris Mason2009-01-16
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Fix ioctl arg size (userland incompatible change!)Chris Mason2009-01-16
| | | | | | | | | | | | | | | The structure used to send device in btrfs ioctl calls was not properly aligned, and so 32 bit ioctls would not work properly on 64 bit kernels. We could fix this with compat ioctls, but we're just one byte away and it doesn't make sense at this stage to carry about the compat ioctls forever at this stage in the project. This patch brings the ioctl arg up to an evenly aligned 4k. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Update version.sh to v0.17Chris Mason2009-01-12
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Fix isize/nbytes update bugs in btrfs-convertYan Zheng2009-01-12
| | | | | | | These fix a few converter problems found by the new btrfsck code. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Fix mispatch of the experimental warningsChris Mason2009-01-11
| | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Warn user that this release is experimentalJim Owens2009-01-09
| | | | | | | Post wiki pointer message for getting version status, limitations, and known problems. Signed-off-by: jim owens <jowens@hp.com>
* Fix an accessing freed memory bug in btrfsckYan Zheng2009-01-09
|
* Rename debug-tree to btrfs-debug-treeChris Mason2009-01-07
| | | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Add error processing for btrfsctl -aShen Feng2009-01-07
| | | | | | | | | | | brfsctl -a will do nothing and no error is output if btrfs.ko is not inserted. Since no caller do error processing for btrfs_register_one_device, make its return void and do error processing inside. Signed-off-by: Shen Feng <shen@cn.fujitsu.com>
* debug-tree output tree/key type instead of idShen Feng2009-01-07
| | | | | | | This makes the tree name and key type output more readable. Signed-off-by: Shen Feng <shen@cn.fujitsu.com>
* Update BUG_ON and WARN_ONShen Feng2009-01-07
| | | | | | | Define BUG_ON and WARN_ON as assert for easy debugging. Signed-off-by: Shen Feng <shen@cn.fujitsu.com>
* Add semantic checks to btrfsck for files and directoriesYan Zheng2009-01-07
| | | | | | | | | | | | | | | | This patch makes btrfsck check more things, including directory items, file extents, checksumming, inode link counts etc. The code for these checks is similar to the code verifies extent back references. The main difference is that shared tree blocks are treated specially. The partial checking results(unresolved references and/or errors) of shared sub-trees are cached. This avoids scanning the shared blocks several times. Thank you, Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Fix compile error in quick-test.c of btrfs progsLiu Hui2009-01-07
|
* Fix mkfs.btrfs usage help to match the current argsShen Feng2009-01-07
| | | | | Signed-off-by: Shen Feng <shen@cn.fujitsu.com>
* Make the minimum filesystem size error message more clearShen Feng2009-01-07
| | | | | Signed-off-by: Shen Feng <shen@cn.fujitsu.com>
* Btrfs: update converter for the new disk formatYan Zheng2008-12-17
| | | | | | | | | | | This patch updates the ext3 to btrfs converter for the new disk format. This mainly involves changing the convert's data relocation and free space management code. This patch also ports some functions from kernel module to btrfs-progs. Thank you, Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Btrfs: Add inode sequence number for NFS and reserved space in a few structsChris Mason2008-12-08
| | | | | | | | | | | | | | | | | | | This adds a sequence number to the btrfs inode that is increased on every update. NFS will be able to use that to detect when an inode has changed, without relying on inaccurate time fields. While we're here, this also: Puts reserved space into the super block and inode Adds a log root transid to the super so we can pick the newest super based on the fsync log as well as the main transaction ID. For now the log root transid is always zero, but that'll get fixed. Adds a starting offset to the dev_item. This will let us do better alignment calculations if we know the start of a partition on the disk. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* superblock duplicationYan Zheng2008-12-05
| | | | | | | | | | This patch updates btrfs-progs for superblock duplication. Note: I didn't make this patch as complete as the one for kernel since updating the converter requires changing the code again. Thank you, Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Btrfs: move data checksumming into a dedicated treeChris Mason2008-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Btrfs stores checksums for each data block. Until now, they have been stored in the subvolume trees, indexed by the inode that is referencing the data block. This means that when we read the inode, we've probably read in at least some checksums as well. But, this has a few problems: * The checksums are indexed by logical offset in the file. When compression is on, this means we have to do the expensive checksumming on the uncompressed data. It would be faster if we could checksum the compressed data instead. * If we implement encryption, we'll be checksumming the plain text and storing that on disk. This is significantly less secure. * For either compression or encryption, we have to get the plain text back before we can verify the checksum as correct. This makes the raid layer balancing and extent moving much more expensive. * It makes the front end caching code more complex, as we have touch the subvolume and inodes as we cache extents. * There is potentitally one copy of the checksum in each subvolume referencing an extent. The solution used here is to store the extent checksums in a dedicated tree. This allows us to index the checksums by phyiscal extent start and length. It means: * The checksum is against the data stored on disk, after any compression or encryption is done. * The checksum is stored in a central location, and can be verified without following back references, or reading inodes. This makes compression significantly faster by reducing the amount of data that needs to be checksummed. It will also allow much faster raid management code in general. The checksums are indexed by a key with a fixed objectid (a magic value in ctree.h) and offset set to the starting byte of the extent. This allows us to copy the checksum items into the fsync log tree directly (or any other tree), without having to invent a second format for them. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Rev the disk format for the compat code and the csum selectionChris Mason2008-12-02
| | | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* btrfs-progs: support for different csum algorithimsJosef Bacik2008-12-02
| | | | | | | | | | | | | This is the btrfs-progs version of the patch to add the ability to have different csum algorithims. Note I didn't change the image maker since it seemed a bit more complicated than just changing some stuff around so I will let Yan take care of that. Everything else was converted and for now a mkfs just sets the type to be BTRFS_CSUM_TYPE_CRC32. Signed-off-by: Josef Bacik <jbacik@redhat.com>
* btrfs-progs: add support for compat flagsJosef Bacik2008-12-02
| | | | | | | | This patch updates btrfs-progs with the disk format changes for the compatability flags. Signed-off-by: Josef Bacik <jbacik@redhat.com>
* Fix image tool compile warningsyanhai zhu2008-12-02
|
* Btrfs image toolYan Zheng2008-11-20
| | | | | | | | | This patch adds btrfs image tool. The image tool is a debugging tool that creates/restores btrfs metadump image. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Update the super magic string to match the seed and root format changesChris Mason2008-11-18
|
* Add disk format requirements for subvol backward and forward refsChris Mason2008-11-18
|
* Modify the subvol and snapshot creation ioctls to work anywhere in the treeChris Mason2008-11-18
| | | | | | | | | | | | | | | | | | | | | | | | This changes the snapshot and subvol ioctl API and command lines so that new snapshots and subvols can be created anywhere. Subvolume creation hasn't changed much: btrfsctl -S subvol_name directory This creates a new subvolume under 'directory' Snapshot creation looks the same, but is actually different: btrfsctl -s full_path_to_new_snapshot file_or_dir For example: btrfsctl -s /mnt/new_snap /mnt/subvol Will create a new snapshot named new_snap under /mnt of the root found in /mnt/subvol. It always snapshots the entire root regardless of which file or directory inside the root you give it. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* update btrfs-progs for seed device supportYan Zheng2008-11-18
| | | | | | | | | | | | This patch does the following: 1) Update device management code to match the kernel code. 2) Allocator fixes. 3) Add a program called btrfstune to set/clear the SEEDING super block flags.
* Add fallocate support v2Yan Zheng2008-10-31
| | | | | | | This patch updates btrfs-progs for fallocate support. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Avoid tree of tree root cow when committing a clean FSChris Mason2008-10-30
| | | | | | | | | | | | | The root node generation number code made commit_tree_root look like the kernel code. It forces a cow of the tree of tree roots even when the FS hasn't changed. This causes errors during fsck and other readonly operations. This adds a check to see if commit_tree_root is going to trigger writes to the tree of tree roots, and bails if none are pending. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Rev the disk format for compression and root pointer generation fieldsChris Mason2008-10-29
| | | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Add root tree pointer transaction idsYan Zheng2008-10-29
| | | | | | | | | | This patch adds transaction IDs to root tree pointers. Transaction IDs in tree pointers are compared with the generation numbers in block headers when reading root blocks of trees. This can detect some types of IO errors. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Add disk format elements for compressionChris Mason2008-10-29
| | | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Rev the disk format for the new back reference formatChris Mason2008-10-09
| | | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Count space allocated to file in bytesYan Zheng2008-10-09
| | | | | | | | This patch updates btrfs-progs for counting space allocated to file in bytes. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Remove offset field from struct btrfs_extent_refYan Zheng2008-10-09
| | | | | | | | | | | | | | The offset field in struct btrfs_extent_ref records the position inside file that file extent is referenced by. In the new back reference system, tree leaves holding reference to file extent are recorded explicitly. We can quickly scan these tree leaves, so the offset field is not required. This patch also makes the back reference system check the objectid when extents are being deleted Signed-off-by: Yan Zheng <zheng.yan@oracle.com>