summaryrefslogtreecommitdiff
path: root/cmds-subvolume.c
diff options
context:
space:
mode:
authorAnand Jain <anand.jain@oracle.com>2013-02-01 15:56:26 +0800
committerDavid Sterba <dsterba@suse.cz>2013-02-01 16:55:05 +0100
commite260954a9e847c1e3ed0d2f457e256eb4726f5f2 (patch)
tree998a43c4c53b550326ea4148000a5db12e1d7738 /cmds-subvolume.c
parent64f9c407590e1ec0e1a699234fb7354e11624c9e (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.c24
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;