]> granicus.if.org Git - sysstat/commitdiff
sar/sadf: Move common code to new function
authorSebastien GODARD <sysstat@users.noreply.github.com>
Sat, 26 May 2018 09:12:48 +0000 (11:12 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Sat, 26 May 2018 09:12:48 +0000 (11:12 +0200)
Create new function to get the name of the device.

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
json_stats.c
pr_stats.c
raw_stats.c
rndr_stats.c
sa.h
sa_common.c
svg_stats.c
xml_stats.c

index 92900daab8ef8008f0bf2778de52fb9eb07cc019..99dc106d1289359a936434082d62ad9a07b6acdd 100644 (file)
@@ -36,7 +36,6 @@
 #endif
 
 extern unsigned int flags;
-extern unsigned int dm_major;
 extern struct sa_dlist *st_iface_list;
 extern struct sa_dlist *st_dev_list;
 extern struct sa_dlist *st_fs_list;
@@ -714,7 +713,7 @@ __print_funct_t json_print_disk_stats(struct activity *a, int curr, int tab,
        struct stats_disk *sdc, *sdp, sdpzero;
        struct ext_disk_stats xds;
        int sep = FALSE;
-       char *dev_name, *persist_dev_name;
+       char *dev_name;
 
        memset(&sdpzero, 0, STATS_DISK_SIZE);
 
@@ -733,26 +732,8 @@ __print_funct_t json_print_disk_stats(struct activity *a, int curr, int tab,
                        sdp = (struct stats_disk *) ((char *) a->buf[!curr] + j * a->msize);
                }
 
-               dev_name = NULL;
-               persist_dev_name = NULL;
-
-               if (DISPLAY_PERSIST_NAME_S(flags)) {
-                       persist_dev_name = get_persistent_name_from_pretty(get_devname(sdc->major, sdc->minor, TRUE));
-               }
-
-               if (persist_dev_name) {
-                       dev_name = persist_dev_name;
-               }
-               else {
-                       if ((USE_PRETTY_OPTION(flags)) && (sdc->major == dm_major)) {
-                               dev_name = transform_devmapname(sdc->major, sdc->minor);
-                       }
-
-                       if (!dev_name) {
-                               dev_name = get_devname(sdc->major, sdc->minor,
-                                                      USE_PRETTY_OPTION(flags));
-                       }
-               }
+               /* Get device name */
+               dev_name = get_sa_devname(sdc->major, sdc->minor, flags);
 
                if (dlst_dev_idx) {
                        /* A list of devices has been entered on the command line */
index 913d2f81819f067d9f92819ec16d87412557571a..f3fc3f3ff2e6be52238561832c333c5b008a919c 100644 (file)
@@ -37,7 +37,6 @@
 #endif
 
 extern unsigned int flags;
-extern unsigned int dm_major;
 extern int  dis;
 extern char timestamp[][TIMESTAMP_LEN];
 extern unsigned long avg_count;
@@ -1018,7 +1017,7 @@ __print_funct_t print_disk_stats(struct activity *a, int prev, int curr,
        int i, j;
        struct stats_disk *sdc, *sdp, sdpzero;
        struct ext_disk_stats xds;
-       char *dev_name, *persist_dev_name;
+       char *dev_name;
        int unit = NO_UNIT;
 
        memset(&sdpzero, 0, STATS_DISK_SIZE);
@@ -1055,26 +1054,8 @@ __print_funct_t print_disk_stats(struct activity *a, int prev, int curr,
                if (DISPLAY_ZERO_OMIT(flags) && !memcmp(sdp, sdc, STATS_DISK_SIZE))
                        continue;
 
-               dev_name = NULL;
-               persist_dev_name = NULL;
-
-               if (DISPLAY_PERSIST_NAME_S(flags)) {
-                       persist_dev_name = get_persistent_name_from_pretty(get_devname(sdc->major, sdc->minor, TRUE));
-               }
-
-               if (persist_dev_name) {
-                       dev_name = persist_dev_name;
-               }
-               else {
-                       if ((USE_PRETTY_OPTION(flags)) && (sdc->major == dm_major)) {
-                               dev_name = transform_devmapname(sdc->major, sdc->minor);
-                       }
-
-                       if (!dev_name) {
-                               dev_name = get_devname(sdc->major, sdc->minor,
-                                                      USE_PRETTY_OPTION(flags));
-                       }
-               }
+               /* Get device name */
+               dev_name = get_sa_devname(sdc->major, sdc->minor, flags);
 
                if (dlst_dev_idx) {
                        /* A list of devices has been entered on the command line */
index 2c163c83c73861b460f47e19af2e434c761aa01a..4f6ef5e3c5a704d47bdf187e864d5d2067d901d0 100644 (file)
@@ -29,7 +29,6 @@
 #include "raw_stats.h"
 
 extern unsigned int flags;
-extern unsigned int dm_major;
 extern struct sa_dlist *st_iface_list;
 extern struct sa_dlist *st_dev_list;
 extern struct sa_dlist *st_fs_list;
@@ -526,7 +525,7 @@ __print_funct_t raw_print_disk_stats(struct activity *a, char *timestr, int curr
 {
        int i, j;
        struct stats_disk *sdc, *sdp, sdpzero;
-       char *dev_name, *persist_dev_name;
+       char *dev_name;
 
        memset(&sdpzero, 0, STATS_DISK_SIZE);
 
@@ -534,26 +533,8 @@ __print_funct_t raw_print_disk_stats(struct activity *a, char *timestr, int curr
 
                sdc = (struct stats_disk *) ((char *) a->buf[curr] + i * a->msize);
 
-               dev_name = NULL;
-               persist_dev_name = NULL;
-
-               if (DISPLAY_PERSIST_NAME_S(flags)) {
-                       persist_dev_name = get_persistent_name_from_pretty(get_devname(sdc->major, sdc->minor, TRUE));
-               }
-
-               if (persist_dev_name) {
-                       dev_name = persist_dev_name;
-               }
-               else {
-                       /* Always use pretty option (-p) */
-                       if (sdc->major == dm_major) {
-                               dev_name = transform_devmapname(sdc->major, sdc->minor);
-                       }
-
-                       if (!dev_name) {
-                               dev_name = get_devname(sdc->major, sdc->minor, TRUE);
-                       }
-               }
+               /* Get device name */
+               dev_name = get_sa_devname(sdc->major, sdc->minor, flags);
 
                if (dlst_dev_idx) {
                        /* A list of devices has been entered on the command line */
index 5fc1a92b985f56fdec143f9e8611ecc0ed61d072..69541912c7960cd20abaca56d9f33a9887d2ecab 100644 (file)
@@ -38,7 +38,6 @@
 char *seps[] =  {"\t", ";"};
 
 extern unsigned int flags;
-extern unsigned int dm_major;
 extern struct sa_dlist *st_iface_list;
 extern struct sa_dlist *st_dev_list;
 extern struct sa_dlist *st_fs_list;
@@ -1064,7 +1063,7 @@ __print_funct_t render_disk_stats(struct activity *a, int isdb, char *pre,
        int i, j;
        struct stats_disk *sdc, *sdp, sdpzero;
        struct ext_disk_stats xds;
-       char *dev_name, *persist_dev_name;
+       char *dev_name;
        int pt_newlin
                = (DISPLAY_HORIZONTALLY(flags) ? PT_NOFLAG : PT_NEWLIN);
 
@@ -1083,26 +1082,8 @@ __print_funct_t render_disk_stats(struct activity *a, int isdb, char *pre,
                        sdp = (struct stats_disk *) ((char *) a->buf[!curr] + j * a->msize);
                }
 
-               dev_name = NULL;
-               persist_dev_name = NULL;
-
-               if (DISPLAY_PERSIST_NAME_S(flags)) {
-                       persist_dev_name = get_persistent_name_from_pretty(get_devname(sdc->major, sdc->minor, TRUE));
-               }
-
-               if (persist_dev_name) {
-                       dev_name = persist_dev_name;
-               }
-               else {
-                       if ((USE_PRETTY_OPTION(flags)) && (sdc->major == dm_major)) {
-                               dev_name = transform_devmapname(sdc->major, sdc->minor);
-                       }
-
-                       if (!dev_name) {
-                               dev_name = get_devname(sdc->major, sdc->minor,
-                                                      USE_PRETTY_OPTION(flags));
-                       }
-               }
+               /* Get device name */
+               dev_name = get_sa_devname(sdc->major, sdc->minor, flags);
 
                if (dlst_dev_idx) {
                        /* A list of devices has been entered on the command line */
diff --git a/sa.h b/sa.h
index 71c1eebfa2b7dce32b3d7d1b344c3d90c87c80ff..37bfc84dc7aa2fbc74fe98e7ad25a79a241f397b 100644 (file)
--- a/sa.h
+++ b/sa.h
@@ -1262,6 +1262,8 @@ void free_structures
        (struct activity * []);
 char *get_devname
        (unsigned int, unsigned int, int);
+char *get_sa_devname
+       (unsigned int, unsigned int, unsigned int);
 void get_file_timestamp_struct
        (unsigned int, struct tm *, struct file_header *);
 unsigned long long get_global_cpu_statistics
index d92a8fbc96df9f4891dc4fd0248d019946144783..624806c61768bf8d4b01764546adfffa129b9a1b 100644 (file)
@@ -47,6 +47,7 @@
 
 int default_file_used = FALSE;
 extern struct act_bitmap cpu_bitmap;
+extern unsigned int dm_major;
 
 unsigned int hdr_types_nr[] = {FILE_HEADER_ULL_NR, FILE_HEADER_UL_NR, FILE_HEADER_U_NR};
 unsigned int act_types_nr[] = {FILE_ACTIVITY_ULL_NR, FILE_ACTIVITY_UL_NR, FILE_ACTIVITY_U_NR};
@@ -3031,4 +3032,42 @@ void get_global_soft_statistics(struct activity *a, int prev, int curr,
        }
 }
 
+/*
+ ***************************************************************************
+ * Get device name (whether pretty-printed, persistent or not).
+ *
+ * IN:
+ * @major      Major number of the device.
+ * @minor      Minor number of the device.
+ * @flags      Flags for common options and system state.
+ *
+ * RETURNS:
+ * The name of the device.
+ ***************************************************************************
+ */
+char *get_sa_devname(unsigned int major, unsigned int minor, unsigned int flags)
+{
+       char *dev_name = NULL, *persist_dev_name = NULL;
+
+       if (DISPLAY_PERSIST_NAME_S(flags)) {
+               persist_dev_name = get_persistent_name_from_pretty(get_devname(major, minor, TRUE));
+       }
+
+       if (persist_dev_name) {
+               dev_name = persist_dev_name;
+       }
+       else {
+               if ((USE_PRETTY_OPTION(flags)) && (major == dm_major)) {
+                       dev_name = transform_devmapname(major, minor);
+               }
+
+               if (!dev_name) {
+                       dev_name = get_devname(major, minor,
+                                              USE_PRETTY_OPTION(flags));
+               }
+       }
+
+       return dev_name;
+}
+
 #endif /* SOURCE_SADC undefined */
index 366c2cee718cd03b062f7f524a8d00dddf524788..b6f899425cdbf76aacf0470d4e495a0619138be0 100644 (file)
@@ -38,7 +38,6 @@
 #endif
 
 extern unsigned int flags;
-extern unsigned int dm_major;
 extern struct sa_dlist *st_iface_list;
 extern struct sa_dlist *st_dev_list;
 extern struct sa_dlist *st_fs_list;
@@ -2050,7 +2049,7 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
        static double *spmin, *spmax;
        static char **out;
        static int *outsize;
-       char *item_name, *persist_dev_name;
+       char *item_name;
        double rkB, wkB, aqusz;
        int i, j, k, pos, restart, *unregistered;
 
@@ -2235,27 +2234,8 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
                        if (!**(out + pos))
                                continue;
 
-                       item_name = NULL;
-                       persist_dev_name = NULL;
-
-                       if (DISPLAY_PERSIST_NAME_S(flags)) {
-                               persist_dev_name = get_persistent_name_from_pretty(get_devname(*(spmax + pos + 8),
-                                                                                              *(spmin + pos + 8),
-                                                                                              TRUE));
-                       }
-                       if (persist_dev_name) {
-                               item_name = persist_dev_name;
-                       }
-                       else {
-                               if ((USE_PRETTY_OPTION(flags)) && (*(spmax + pos + 8) == dm_major)) {
-                                       item_name = transform_devmapname(*(spmax + pos + 8), *(spmin + pos + 8));
-                               }
-
-                               if (!item_name) {
-                                       item_name = get_devname(*(spmax + pos + 8), *(spmin + pos + 8),
-                                                               USE_PRETTY_OPTION(flags));
-                               }
-                       }
+                       /* Get device name */
+                       item_name = get_sa_devname(*(spmax + pos + 8), *(spmin + pos + 8), flags);
 
                        if (dlst_dev_idx) {
                                /* A list of devices has been entered on the command line */
index c0cdf2f37f93eb1a051900ae981c9eeb4f5987b3..fd351d06c8ea681a5bc41c1b747e81d28ee0f66d 100644 (file)
@@ -36,7 +36,6 @@
 #endif
 
 extern unsigned int flags;
-extern unsigned int dm_major;
 extern struct sa_dlist *st_iface_list;
 extern struct sa_dlist *st_dev_list;
 extern struct sa_dlist *st_fs_list;
@@ -699,7 +698,7 @@ __print_funct_t xml_print_disk_stats(struct activity *a, int curr, int tab,
        int i, j;
        struct stats_disk *sdc, *sdp, sdpzero;
        struct ext_disk_stats xds;
-       char *dev_name, *persist_dev_name;
+       char *dev_name;
 
        memset(&sdpzero, 0, STATS_DISK_SIZE);
 
@@ -718,26 +717,8 @@ __print_funct_t xml_print_disk_stats(struct activity *a, int curr, int tab,
                        sdp = (struct stats_disk *) ((char *) a->buf[!curr] + j * a->msize);
                }
 
-               dev_name = NULL;
-               persist_dev_name = NULL;
-
-               if (DISPLAY_PERSIST_NAME_S(flags)) {
-                       persist_dev_name = get_persistent_name_from_pretty(get_devname(sdc->major, sdc->minor, TRUE));
-               }
-
-               if (persist_dev_name) {
-                       dev_name = persist_dev_name;
-               }
-               else {
-                       if ((USE_PRETTY_OPTION(flags)) && (sdc->major == dm_major)) {
-                               dev_name = transform_devmapname(sdc->major, sdc->minor);
-                       }
-
-                       if (!dev_name) {
-                               dev_name = get_devname(sdc->major, sdc->minor,
-                                                      USE_PRETTY_OPTION(flags));
-                       }
-               }
+               /* Get device name */
+               dev_name = get_sa_devname(sdc->major, sdc->minor, flags);
 
                if (dlst_dev_idx) {
                        /* A list of devices has been entered on the command line */