btrfs-progs: check: factor out root parsing from check_chunks_and_extents
commitd4f19ad08475204baf3fd15b91bca25da7bef388
authorNikolay Borisov <nborisov@suse.com>
Mon, 18 Jun 2018 11:10:58 +0000 (18 14:10 +0300)
committerDavid Sterba <dsterba@suse.com>
Mon, 6 Aug 2018 13:00:08 +0000 (6 15:00 +0200)
treea9b0f53197e421554b3ba9e9db2f4d5052febba1
parenta7773d7f0671aa28a20aa3a736f930e8d1cdbba9
btrfs-progs: check: factor out root parsing from check_chunks_and_extents

check_chunks_and_extents does quite a number of distinct things. The
first of those is going through all root items in the root tree and
classify every root depending on whether they have a dropping operation
in progress or not. Lets factor out this code and move the variables
specific to this in a separate function so clean up check_chunks_and_extents
a bit. Accidentally, this patch fixes some reference leaks since
in error conditions in the loop the code does "goto out" but at that
label we don't really release the path. Having this code extracted in a
separate function which always releases the path avoids this problem
entirely.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Su Yue <suy.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
check/main.c