diff options
author | Anand Jain <anand.jain@oracle.com> | 2013-02-01 15:56:26 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2013-02-01 16:55:05 +0100 |
commit | e260954a9e847c1e3ed0d2f457e256eb4726f5f2 (patch) | |
tree | 998a43c4c53b550326ea4148000a5db12e1d7738 /cmds-subvolume.c | |
parent | 64f9c407590e1ec0e1a699234fb7354e11624c9e (diff) |
Btrfs-progs: make printing subvol extensible to newer layouts
Currently you can print subvol in a list or table format.
This patch will provide a way to extend this to other formats
like the upcoming raw format.
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Diffstat (limited to 'cmds-subvolume.c')
-rw-r--r-- | cmds-subvolume.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/cmds-subvolume.c b/cmds-subvolume.c index d46064af..596bd628 100644 --- a/cmds-subvolume.c +++ b/cmds-subvolume.c @@ -422,8 +422,19 @@ static int cmd_subvol_list(int argc, char **argv) BTRFS_LIST_FILTER_TOPID_EQUAL, top_id); - ret = btrfs_list_subvols_print(fd, filter_set, comparer_set, - is_tab_result, + /* by default we shall print the following columns*/ + btrfs_list_setup_print_column(BTRFS_LIST_OBJECTID); + btrfs_list_setup_print_column(BTRFS_LIST_GENERATION); + btrfs_list_setup_print_column(BTRFS_LIST_TOP_LEVEL); + btrfs_list_setup_print_column(BTRFS_LIST_PATH); + + if (is_tab_result) + ret = btrfs_list_subvols_print(fd, filter_set, comparer_set, + BTRFS_LIST_LAYOUT_TABLE, + !is_list_all && !is_only_in_path); + else + ret = btrfs_list_subvols_print(fd, filter_set, comparer_set, + BTRFS_LIST_LAYOUT_DEFAULT, !is_list_all && !is_only_in_path); if (ret) return 19; @@ -630,7 +641,14 @@ static int cmd_subvol_get_default(int argc, char **argv) btrfs_list_setup_filter(&filter_set, BTRFS_LIST_FILTER_ROOTID, default_id); - ret = btrfs_list_subvols_print(fd, filter_set, NULL, 0, 1); + /* by default we shall print the following columns*/ + btrfs_list_setup_print_column(BTRFS_LIST_OBJECTID); + btrfs_list_setup_print_column(BTRFS_LIST_GENERATION); + btrfs_list_setup_print_column(BTRFS_LIST_TOP_LEVEL); + btrfs_list_setup_print_column(BTRFS_LIST_PATH); + + ret = btrfs_list_subvols_print(fd, filter_set, NULL, + BTRFS_LIST_LAYOUT_DEFAULT, 1); if (ret) return 19; return 0; |