]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsipc: add USE% to --global
authorKarel Zak <kzak@redhat.com>
Wed, 1 Jul 2015 12:16:50 +0000 (14:16 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 20 Jul 2015 09:48:09 +0000 (11:48 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/lsipc.c

index 45f2e3e23f3e80116be3d47a82b43c0954ecb917..032ba7f0a0553058e4045a8d7fafc9a25facba0c 100644 (file)
@@ -104,9 +104,10 @@ enum {
        COLDESC_IDX_SUM_FIRST,
                COL_RESOURCE = COLDESC_IDX_SUM_FIRST,
                COL_DESC,
-               COL_USED,
                COL_LIMIT,
-       COLDESC_IDX_SUM_LAST = COL_LIMIT
+               COL_USED,
+               COL_USEPERC,
+       COLDESC_IDX_SUM_LAST = COL_USEPERC
 };
 
 /* not all columns apply to all options, so we specify a legal range for each */
@@ -186,6 +187,7 @@ static const struct lsipc_coldesc coldescs[] =
        [COL_RESOURCE]  = { "RESOURCE", N_("Resource name"), N_("Resource"), 1 },
        [COL_DESC]      = { "DESCRIPTION",N_("Resource description"), N_("Description"), 1 },
        [COL_USED]      = { "USED",     N_("Currently used"), N_("Used"), 1, SCOLS_FL_RIGHT },
+       [COL_USEPERC]   = { "USE%",     N_("Currently use percentage"), N_("Use"), 1, SCOLS_FL_RIGHT },
        [COL_LIMIT]     = { "LIMIT",    N_("System-wide limit"), N_("Limit"), 1, SCOLS_FL_RIGHT },
 };
 
@@ -492,6 +494,10 @@ static void global_set_data(struct libscols_table *tb, const char *resource,
                        xasprintf(&arg, "%ju", used);
                        rc = scols_line_set_data(ln, n, arg);
                        break;
+               case COL_USEPERC:
+                       xasprintf(&arg, "%2.2f%%", (double) used / limit * 100);
+                       rc = scols_line_set_data(ln, n, arg);
+                       break;
                case COL_LIMIT:
                        xasprintf(&arg, "%ju", limit);
                        rc = scols_line_set_data(ln, n, arg);
@@ -1196,8 +1202,9 @@ int main(int argc, char *argv[])
                        global = 1;
                        add_column(columns, ncolumns++, COL_RESOURCE);
                        add_column(columns, ncolumns++, COL_DESC);
-                       add_column(columns, ncolumns++, COL_USED);
                        add_column(columns, ncolumns++, COL_LIMIT);
+                       add_column(columns, ncolumns++, COL_USED);
+                       add_column(columns, ncolumns++, COL_USEPERC);
                        LOWER = COLDESC_IDX_SUM_FIRST;
                        UPPER = COLDESC_IDX_SUM_LAST;
                        break;