summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* btrfs-progs: reduce size of btrfs_path, locks are not usedDavid Sterba2016-11-09
| | | | | | | Size of btrfs_path can be reduced by 32 bytes as we don't use the locks array, down to 112 from 144 bytes. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: constify some char parametersDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: use const char for unmodified members of directory_name_entryDavid Sterba2016-11-09
| | | | | | We never modify the members, just point them to other strings. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: reorder fields in inode_backref for better packingDavid Sterba2016-11-09
| | | | | | | The structure size went from 56 bytes to 48, which could save some bytes in larger scale. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: unify type for inode_backref::itemtypeDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: unify type for inode_backref::filetypeDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: cleanup use of ctransid delta temporary variable in ↵David Sterba2016-11-09
| | | | | | find_good_parent Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: cleanup, rename send context variablesDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: cleanup, rename some variables in dump_threadDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: clean types in write_bufDavid Sterba2016-11-09
| | | | | | Use matching types for buffer, return value and buffer sizes. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: use proper type for read result, and rename the variableDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: increase size of transfer bufferDavid Sterba2016-11-09
| | | | | | | | | | | | | | | | | | 4K is quite small, increase it to 64K. This reduces number of context switches and calls to read. Kernel sends us about 50K of data per read, so increasing the buffer further does not make any improvement. Example run on tests/cli-tests/004-send-parent-multi-subvol: 4K: - ~800 context switches - ~5000 calls to read 64K: - ~450 context switches - ~500 calls to read Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: send: constify some arugmentsDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: add test for multi-subvolume send from parentDavid Sterba2016-11-09
| | | | | | | Fixed by "btrfs-progs: send: fix handling of multiple snapshots (-p option)". Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: convert dir-item-to-string to tableDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: convert key-to-string to tableDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: cleanup types for item number iterationDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: move remaining item variables to the scope of useDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: move variable declarations closer to their useDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: rename extent buffer variable in btrfs_print_leafDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: add untyped item ptr helper and use itDavid Sterba2016-11-09
| | | | | | | | | | | There's lots of code that passes btrfs_item_ptr. Add a helper to extract the ptr at the beginning, ignoring the type. The print functions take the correct type, but we ignore it in the conversion macros as it does not provide the type checking anyway. If the typed variable is used more than once, it's kept in place. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: constify char argument in print_root_refDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: simplify and fix check for empty uuidDavid Sterba2016-11-09
| | | | | | | Counting non-zero bytes is wasteful, besides that it would not recognize uuids containing a 00 value. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: return void from print_* functionsDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: pass item size instead of itemDavid Sterba2016-11-09
| | | | | | | Several functions take item but use just the size, we can factor the item size and use that. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: remove unused parameter from print_inode_itemDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: consolidate data key namesDavid Sterba2016-11-09
| | | | | | | Rename to the structure members, add underscore so it's a single word. Compression is also printed as raw value. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print dev statsDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: add dev stats on-disk structureDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print balance status itemDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: add balance status structuresDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: teach print_leaf about temporary item subtypesDavid Sterba2016-11-09
| | | | | [ kernel patch 9f07e1d76eaeeddedcf9651395b4a8f870df31f0 ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: teach print_leaf about permanent item subtypesDavid Sterba2016-11-09
| | | | | [ kernel patch 585a3d0d238dfe42909cb58b0d05f644365fed14 ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: switch dev stats item to the permanent item keyDavid Sterba2016-11-09
| | | | | [ kernel patch 242e2956e4afde7727fffe21adc0a7b198b77f96 ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: introduce key type for persistent permanent itemsDavid Sterba2016-11-09
| | | | | | | | | | | | | | The number of distinct key types is not that big that we could waste one for something new we want to store in the tree. Similar to the temporary items, we'll introduce a new name for an existing key value and use the objectid for further extension. The victim is the BTRFS_DEV_STATS_KEY (248). The device stats are an example of a permanent item. [ kernel patch 50c2d5abe64c1726b48d292a2ab04f60e8238933 ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: extract offset from the item keyDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: introduce key type for persistent temporary itemsDavid Sterba2016-11-09
| | | | | | | | | | | | | | The number of distinct key types is not that big that we could waste one for something new we want to store in the tree. We'll introduce a new name for an existing key value and use the objectid for further extension. The victim is the BTRFS_BALANCE_ITEM_KEY (248). The nature of the balance status item is a good example of the temporary item. It exists from beginning of the balance, keeps the status until it finishes. [ kernel patch 0bbbccb17fea86818e1a058faf5903aefd20b31a ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: mkfs: store creation time of the toplevel subvolumeDavid Sterba2016-11-09
| | | | | | | For unkonwn reasons, the creation time of the toplevel subvolume inode item hasn't been set. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print missing data for file extent itemDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print more root_item dataDavid Sterba2016-11-09
| | | | | | | Print a few more missing items of root_item (there are still some remaining). Drop key is printend unconditionally. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print missing dir_item dataDavid Sterba2016-11-09
| | | | | | Add items from dir_item that are not printed, plus other adjustments. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print missing inode_item dataDavid Sterba2016-11-09
| | | | | | Add items from inode_item that are not printed. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: add helper to print timespecDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: factor inode_item dump to functionDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print missing dev_extent dataDavid Sterba2016-11-09
| | | | | | | Add items from chunk that are not printed, unify names according to the member names and reorder a bit. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print missing chunk dataDavid Sterba2016-11-09
| | | | | | | Add items from chunk that are not printed, unify names according to the member names and reorder a bit. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: dump-tree: print missing dev_item dataDavid Sterba2016-11-09
| | | | | | | Add items from dev_item that are not printed, unify names according to the member names. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: subvol show: print more details about toplevel subvolumeDavid Sterba2016-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The toplevel subvolume is special and the other listing code leaves it out so we have to add several special cases to handle it. There's no backreference so the path is built artificially. New helper btrfs_get_toplevel_subvol is a reduced version of btrfs_get_subvol. There's some information usually missing for the toplevel subvolume, eg. the uuid or creation info. This has to be fixed on the mkfs side, the other subvolumes are created by kernel. Example: /mnt Name: <FS_TREE> UUID: - Parent UUID: - Received UUID: - Creation time: - Subvolume ID: 5 Generation: 233 Gen at creation: 0 Parent ID: 0 Top level ID: 0 Flags: - Snapshot(s): subv1 Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: subvol list: better error message if subvol insertion failsDavid Sterba2016-11-09
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: subvol list: remove ugly goto constructDavid Sterba2016-11-09
| | | | | | Jumping into an if is not considered nice. Signed-off-by: David Sterba <dsterba@suse.com>