summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* btrfs-progs: fuzz-test: Add image for unaligned tree block ptrQu Wenruo2016-09-05
| | | | | | | | | | Add test case image for unaligned tree block ptr. It should lead to BUG_ON in free_extent_buffer(). Reported-by: Lukas Lueg <lukas.lueg@gmail.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [ added bko-NNN- prefix to the files ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: do early check for read_tree_blockQu Wenruo2016-09-05
| | | | | | | | | | | | | | | | | | | Although we have enhanced read_tree_block() from a lot of different aspects, it lacks the early bytenr/blocksize alignment check. And the lack of such check can lead to strange use-after-free bugs, due to the fact that alloc_extent_buffer() will free overlapping extent buffers, and allocate new eb for the usage. So we should not allow invalid bytenr/blocksize even passed to btrfs_find_create_tree_block(). This patch will add such check so we won't trigger use-after-free bug then. Reported-by: Lukas Lueg <lukas.lueg@gmail.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: fuzz-test: Add image for wrong chunk item in root treeQu Wenruo2016-09-05
| | | | | | | | | | | | | | Reported by Lukas and the same image from him. DATA_RELOC tree's key type is modifed to CHUNK_ITEM, causing btrfsck interpret it as CHUNK_ITEM and cause 0 num_stripes. Add the image to fuzz-test. Reported-by: Lukas Lueg <lukas.lueg@gmail.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [ added bko-NNN- prefix to the files ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: Do extra chunk check before processing chunk itemQu Wenruo2016-09-05
| | | | | | | | | | | | | | | | | | | Current we only do chunk validation check at mount time. It's good for most case, but for fuzzed or manually crafted images, we can insert a CHUNK_ITEM key into root tree. Since mount time check will only check chunk tree, it will not check CHUNK_ITEM in root tree. Even with previous key type check against leaf owner, it is still possible to modify the leaf owner to by-pass it. So we still need to check chunk validation before processing it. Reported-by: Lukas Lueg <lukas.lueg@gmail.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: ignore invalid key in invalid rootQu Wenruo2016-09-05
| | | | | | | | | | | | | Btrfs tree implies a lot of restriction on which key types are allowed in specific roots. Like CHUNK_ITEM keys are only valid in chunk root. This patch will add such check at run_next_block() for original mode. Reported-by: Lukas Lueg <lukas.lueg@gmail.com> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: Enhance and export print_key_type functionQu Wenruo2016-09-05
| | | | | | | Just the same thing done for print_objectid(). Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: Enhance and export print_objectid functionQu Wenruo2016-09-05
| | | | | | | | | This function is quite useful for a lot of error report. Enhance it to support custom output other than stdout. And export it for later btrfsck enhancement. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* Btrfs progs v4.7.1David Sterba2016-08-25
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: update CHANGES for 4.7.1David Sterba2016-08-25
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: add rest of stack operations for btrfs_dir_itemDavid Sterba2016-08-25
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: switch to common error helpers in do_rollbackDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: reword message when conversion failsDavid Sterba2016-08-24
| | | | | | | The filesystem will not be finalized, no difference if it's before or after the chunk mapping fixups. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: switch to message helpers in do_convertDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: remove redundant checkDavid Sterba2016-08-24
| | | | | | | The check for sectorsize is properly done in do_convert, remove the BUG_ON. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: improve error hanling of init_btrfsDavid Sterba2016-08-24
| | | | | | Replace BUG_ONs and verbosely report the errors. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: improve error hanling of create_subvolDavid Sterba2016-08-24
| | | | | | Replace BUG_ONs and verbosely report the errors. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: improve error hanling of link_subvolDavid Sterba2016-08-24
| | | | | | Replace BUG_ONs and verbosely report the errors. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: make ext2 compilation honor the configure optionsDavid Sterba2016-08-24
| | | | | | | Now ext2 conversion will be built in iff it's selected by --with-convert option. Default is yes. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move prepare_system_chunk_sbDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move migrate_super_blockDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move init_btrfsDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move make_convert_data_block_groupsDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move create_subvolDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move link_subvolDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move create_imageDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move convert_read_used_spaceDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move calculate_available_spaceDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move wipe_reserved_rangesDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move wipe_one_reserved_rangeDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move _expand_extent_cacheDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move migrate_reserved_rangesDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move migrate_one_reserved_rangeDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move create_image_file_rangeDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move block_iterate_procDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move record_file_blocksDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move init_blk_iterate_dataDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move csum_disk_extentDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move read_disk_extentDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move convert_insert_direntDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: move intersect_with_sbDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: prefix all ext2-related helpersDavid Sterba2016-08-24
| | | | | | Add ext2_ prefix to all functions that seem to be ext2-specific. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: build: extend convert optionsDavid Sterba2016-08-24
| | | | | | | | Add --with-convert[=VALUE] option to configure. Accepts ext2, auto, yes, or no, but will be extended to more in the future. The configure-time defines are not used in the code, ext2 is built-in unconditionally. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: build: add per-tool cflags variableDavid Sterba2016-08-24
| | | | | | | The standalone tools are built from pattern rules, add support for per-tool cflaags, like btrfs_something_clfags. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: cleanup, open_ctree to fs_info and use directlyDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: kill print_versionDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: clean up make_imageDavid Sterba2016-08-24
| | | | | | | The exact errors are printed, the removed message does not seem to be necessary. Return proper errors. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: help and usage now to to stdoutDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: handle and report transaction commit failuresDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: switch BUG_ON to error handling in traverse_directoryDavid Sterba2016-08-24
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: document all btrfs_open_ctree_flagsDavid Sterba2016-08-24
| | | | | | Document and add unsigned type to the values. Signed-off-by: David Sterba <dsterba@suse.com>