David Sterba
e58cc23823
btrfs-progs: dump-tree: move variable declarations closer to their use
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
6b138f5367
btrfs-progs: dump-tree: rename extent buffer variable in btrfs_print_leaf
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
7541b53b34
btrfs-progs: dump-tree: add untyped item ptr helper and use it
...
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>
2016-11-09 13:47:30 +01:00
David Sterba
17a9d9013d
btrfs-progs: dump-tree: constify char argument in print_root_ref
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
a15294f0c4
btrfs-progs: dump-tree: simplify and fix check for empty uuid
...
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>
2016-11-09 13:47:30 +01:00
David Sterba
5082ec84a8
btrfs-progs: dump-tree: return void from print_* functions
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
e9c1121495
btrfs-progs: dump-tree: pass item size instead of item
...
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>
2016-11-09 13:47:30 +01:00
David Sterba
ae00d4a251
btrfs-progs: remove unused parameter from print_inode_item
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
15db981600
btrfs-progs: dump-tree: consolidate data key names
...
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>
2016-11-09 13:47:30 +01:00
David Sterba
cf5c55fba8
btrfs-progs: dump-tree: print dev stats
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
0f4ab474fe
btrfs-progs: add dev stats on-disk structure
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
b74dbb86c0
btrfs-progs: dump-tree: print balance status item
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
ad5c75708a
btrfs-progs: add balance status structures
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
8a50dc9600
btrfs-progs: teach print_leaf about temporary item subtypes
...
[ kernel patch 9f07e1d76eaeeddedcf9651395b4a8f870df31f0 ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
9da5b472d5
btrfs-progs: teach print_leaf about permanent item subtypes
...
[ kernel patch 585a3d0d238dfe42909cb58b0d05f644365fed14 ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
2add123c8e
btrfs-progs: switch dev stats item to the permanent item key
...
[ kernel patch 242e2956e4afde7727fffe21adc0a7b198b77f96 ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
e244550b42
btrfs-progs: introduce key type for persistent permanent items
...
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>
2016-11-09 13:47:30 +01:00
David Sterba
e905d055f6
btrfs-progs: print-tree: extract offset from the item key
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
6122cb32c6
btrfs-progs: introduce key type for persistent temporary items
...
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>
2016-11-09 13:47:30 +01:00
David Sterba
5c4d53450b
btrfs-progs: mkfs: store creation time of the toplevel subvolume
...
For unkonwn reasons, the creation time of the toplevel subvolume inode
item hasn't been set.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
5d43dfd344
btrfs-progs: dump-tree: print missing data for file extent item
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:30 +01:00
David Sterba
069b0b6d14
btrfs-progs: dump-tree: print more root_item data
...
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>
2016-11-09 13:47:29 +01:00
David Sterba
58bef5b4a7
btrfs-progs: dump-tree: print missing dir_item data
...
Add items from dir_item that are not printed, plus other adjustments.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
6c849c616e
btrfs-progs: dump-tree: print missing inode_item data
...
Add items from inode_item that are not printed.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
f1d4606a6d
btrfs-progs: dump-tree: add helper to print timespec
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
58fe71f3f7
btrfs-progs: dump-tree: factor inode_item dump to function
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
cae265e816
btrfs-progs: dump-tree: print missing dev_extent data
...
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>
2016-11-09 13:47:29 +01:00
David Sterba
c6cd8ff6ec
btrfs-progs: dump-tree: print missing chunk data
...
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>
2016-11-09 13:47:29 +01:00
David Sterba
20ba2993a5
btrfs-progs: dump-tree: print missing dev_item data
...
Add items from dev_item that are not printed, unify names according to
the member names.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
d4aa2bc07e
btrfs-progs: subvol show: print more details about toplevel subvolume
...
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>
2016-11-09 13:47:29 +01:00
David Sterba
eb28e2fcae
btrfs-progs: subvol list: better error message if subvol insertion fails
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
fc82ce45dc
btrfs-progs: subvol list: remove ugly goto construct
...
Jumping into an if is not considered nice.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
f4ea2ec981
btrfs-progs: remove trivial helper root_lookup_init
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
65b2f81d77
btrfs-progs: subvol list: consolidate uuid types accross functions
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
e573142d37
btrfs-progs: subvol list: add simplified helper for adding root backrefs
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
1aeb6baee3
btrfs-progs: subvol list: consilidate naming of otime varaibles
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
ebb46b13ac
btrfs-progs: subvol list: simplify value assignments
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
37bc144172
btrfs-progs: subvol list: remove useless comments
...
The search ioctl follows a well known usage pattern.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
f52b559873
btrfs-progs: subvol list: cleanup layout argument setup
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
f1f478ff7b
btrfs-progs: return void from btrfs_list_setup_filter
...
As an early setup function, failure uisng exit is ok.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
8df2d94bf9
btrfs-progs: subvol list: setup list filters later
...
First check for arguments and whether we can open the filesystem.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
4383bf0c29
btrfs-progs: list: switch to common message helpers
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
8a6a42cd42
btrfs-progs: list: rename some helpers
...
Using _volume_ is confusing, it's for subvolumes.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
f4556df015
btrfs-progs: use enum for list layout type
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
2c7dc8e210
btrfs-progs: list: constify prefix arugment
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
bcdb7058aa
btrfs-progs: use symbolic tree name when searching
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:29 +01:00
David Sterba
1fa9cc4991
btrfs-progs: remove leading underscores from several helper
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:28 +01:00
David Sterba
a1f6c59887
btrfs-progs: opencode trivial helper __free_all_subvolumn
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:28 +01:00
David Sterba
1c85c3de5a
btrfs-progs: use existing rootid resolving helper in btrfs_list_get_path_rootid
...
The utils helper is not verbose in case of an error, for now the helper
used for subvolume listing will print the error message but not
duplicate the ioctl anymore.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:28 +01:00
David Sterba
49cb98e5d6
btrfs-progs: rename lookup_ino_rootid
...
It does not resolve the inode number but path where fd has been opened.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:28 +01:00