Btrfs-progs: introduce '-e' option to print max exclusive size of qgroups
authorWang Shilong <wangsl-fnst@cn.fujitsu.com>
Mon, 7 Oct 2013 07:21:41 +0000 (15:21 +0800)
committerChris Mason <chris.mason@fusionio.com>
Wed, 16 Oct 2013 12:23:12 +0000 (08:23 -0400)
This patch introduce '-e' option to print max exclusive size of qgroups.
You may use it like this:
btrfs qgroup -e <path>

Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
cmds-qgroup.c
qgroup.c
qgroup.h

index 213cbde..fc9ad2f 100644 (file)
@@ -202,11 +202,12 @@ static int cmd_qgroup_destroy(int argc, char **argv)
 }
 
 static const char * const cmd_qgroup_show_usage[] = {
-       "btrfs qgroup show -pcr <path>",
+       "btrfs qgroup show -pcre <path>",
        "Show all subvolume quota groups.",
        "-p             print parent qgroup id",
        "-c             print child qgroup id",
        "-r             print max referenced size of qgroup",
+       "-e             print max exclusive size of qgroup",
        NULL
 };
 
@@ -221,7 +222,7 @@ static int cmd_qgroup_show(int argc, char **argv)
 
        optind = 1;
        while (1) {
-               c = getopt(argc, argv, "pcr");
+               c = getopt(argc, argv, "pcre");
                if (c < 0)
                        break;
                switch (c) {
@@ -237,6 +238,10 @@ static int cmd_qgroup_show(int argc, char **argv)
                        btrfs_qgroup_setup_print_column(
                                BTRFS_QGROUP_MAX_RFER);
                        break;
+               case 'e':
+                       btrfs_qgroup_setup_print_column(
+                               BTRFS_QGROUP_MAX_EXCL);
+                       break;
                default:
                        usage(cmd_qgroup_show_usage);
                }
index f9eb52d..2cd37b1 100644 (file)
--- a/qgroup.c
+++ b/qgroup.c
@@ -92,6 +92,11 @@ struct {
                .need_print     = 0,
        },
        {
+               .name           = "max_excl",
+               .column_name    = "Max_excl",
+               .need_print     = 0,
+       },
+       {
                .name           = "parent",
                .column_name    = "Parent",
                .need_print     = 0,
@@ -173,6 +178,9 @@ static void print_qgroup_column(struct btrfs_qgroup *qgroup,
        case BTRFS_QGROUP_MAX_RFER:
                printf("%llu", qgroup->max_rfer);
                break;
+       case BTRFS_QGROUP_MAX_EXCL:
+               printf("%llu", qgroup->max_excl);
+               break;
        case BTRFS_QGROUP_CHILD:
                print_child_column(qgroup);
                break;
index 168fac0..e7a65ba 100644 (file)
--- a/qgroup.h
+++ b/qgroup.h
@@ -27,6 +27,7 @@ enum btrfs_qgroup_column_enum {
        BTRFS_QGROUP_RFER,
        BTRFS_QGROUP_EXCL,
        BTRFS_QGROUP_MAX_RFER,
+       BTRFS_QGROUP_MAX_EXCL,
        BTRFS_QGROUP_PARENT,
        BTRFS_QGROUP_CHILD,
        BTRFS_QGROUP_ALL,