summaryrefslogtreecommitdiff
path: root/btrfsck.c
Commit message (Collapse)AuthorAge
* Add btrfsck option to select the super block copyChris Mason2010-10-04
| | | | | | btrfsck -s 0 uses the defult 0, -s 1 uses copy #1 etc. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Fix inode link count checks in btrfsckYan Zheng2010-09-23
| | | | Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* Remove superfluous WARN_ON in btrfsckYan Zheng2010-09-23
| | | | Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* add missing include for btrfsck.cChristian Hesse2010-09-23
| | | | | | | | compiling btrfs-progs from current git I get an error in btrfsck.c about undefined references. The attached patch adds an include for sys/stat.h which fixes the problem for me. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
* prevent btrfsck to run on mounted filesystemsAndi Drebes2010-09-23
| | | | | | | | | As recently discussed on the list, btrfsck should only be run on unmounted filesystems. This patch adds a short check for the mount status at the beginning of btrfsck. If the FS is mounted, the program aborts showing an error message. Signed-off-by: Andi Drebes <lists-receive@programmierforen.de>
* btrfsck: check root back/forward referencesYan, Zheng2009-09-21
| | | | | | | | This patch adds semantic checks for links to snapshot/subvolume and root back/forward references. Signed-off-by: Yan Zheng <zheng.yan@oracle.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Mixed back reference (FORWARD ROLLING FORMAT CHANGE)Chris Mason2009-06-08
| | | | | | | | | | | | | | | | | This commit introduces a new kind of back reference for btrfs metadata. Once a filesystem has been mounted with this commit, IT WILL NO LONGER BE MOUNTABLE BY OLDER KERNELS. The new back ref provides information about pointer's key, level and in which tree the pointer lives. This information allow us to find the pointer by searching the tree. The shortcoming of the new back ref is that it only works for pointers in tree blocks referenced by their owner trees. This is mostly a problem for snapshots, where resolving one of these fuzzy back references would be O(number_of_snapshots) and quite slow. The solution used here is to use the fuzzy back references in the common case where a given tree block is only referenced by one root, and use the full back references when multiple roots have a reference
* Fix printf format casting errorsLuca Bruno2009-06-03
| | | | | | | | | | | | There are still some warnings of the form: format '%llu' expects type 'long long unsigned int' but argument has type 'u64' In conjunction with -Werror, this is causing some build failures. Now they're properly casted, avoiding compiler warnings. Signed-off-by: Luca Bruno <lucab@debian.org> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Add scan of the btrfs log tree to btrfs-debug-treeChris Mason2009-04-15
|
* 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-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 an accessing freed memory bug in btrfsckYan Zheng2009-01-09
|
* 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>
* Add fallocate support v2Yan Zheng2008-10-31
| | | | | | | This patch updates btrfs-progs for fallocate support. 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>
* Full back reference supportZheng Yan2008-09-23
| | | | | | | | This patch makes the back reference system to explicit record the location of parent node for all types of extents. The location of parent node is placed into the offset field of backref key. Every time a tree block is balanced, the back references for the affected lower level extents are updated.
* Print the version string in a few programsChris Mason2008-07-24
|
* Pass down the expected generation number when reading tree blocksChris Mason2008-05-12
|
* Add a readonly flag open_ctree to force RO opensChris Mason2008-05-05
|
* Fix compiler warning in volumes.cChris Mason2008-05-02
|
* Fix a few casts for 32 bit compileChris Mason2008-04-11
|
* Add mirroring support across multiple drivesChris Mason2008-04-03
|
* Btrfsck updates for multi-device filesystemsChris Mason2008-03-24
|
* Fix btrfsck args checkingKyle McMartin2008-01-22
| | | | | btrfsck fails to check if it actually received a dev argument though, so if you don't pass a device, we get a nice segfault.
* Update btrfs-progs to match kernel sourcesYan2008-01-04
|
* Verify extent back references in btrfsckChris Mason2007-12-14
|
* Add back pointers from extents to the file or btree referencing themChris Mason2007-12-11
|
* Create a slightly more generic extent-caching structureChris Mason2007-10-15
|
* Switch to byte granular allocationsChris Mason2007-10-15
|
* Allow large blocksChris Mason2007-10-15
|
* Make btrfs-progs compile with -fstrict-aliasing (included in -O2) again.Jan Engelhardt2007-09-14
| | | | | | | | | This is done by doing a two-step conversion (rather than a one-step). First, the variable goes from type * to void *, and then to implicitly to void **. (Not sure if this is "good practice", but it shuts up the compiler, so it seems the compiler takes into account that we are actually punning it this way.)
* extra stats for btrfsck, link count in print-tree.cChris Mason2007-09-14
|
* Fix btrfsck build failure on FC7Terje Rosten2007-06-18
|
* add GPLv2Chris Mason2007-06-12
|
* printf cleanupsChris Mason2007-06-12
|
* remove device treeChris Mason2007-06-09
|
* data vs metadata flag for block groupsChris Mason2007-05-30
|
* cleanup warnings found with -O2Chris Mason2007-05-22
|
* reduce ram used by btrfsckChris Mason2007-05-22
|
* btrfsck fixes and cleanupsChris Mason2007-05-18
|
* more stats from fsckChris Mason2007-05-09
|
* compile fixChris Mason2007-05-07
|
* use node list for rootsChris Mason2007-04-25
|
* subvolume and snapshot fsck supportChris Mason2007-04-24
|
* get rid of the extent_item type fieldChris Mason2007-04-24
|
* fsck checks against extent map, small fixesChris Mason2007-04-23
|
* faster btrfsckChris Mason2007-04-23
|
* add owner and type fields to the extents aand block headersChris Mason2007-04-20