Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
sysstat
sysstat-mtab-symlinks-and-automounter.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File sysstat-mtab-symlinks-and-automounter.patch of Package sysstat
From 5b5339d06c4f50730e5cc679e0854ce716f39117 Mon Sep 17 00:00:00 2001 From: Ondrej Dubaj <odubaj@redhat.com> Date: Thu, 28 Feb 2019 15:29:08 +0100 Subject: [PATCH] ignoring autofs as real filesystem by counting number of valid filesystems and getting all valid filesystems --- count.c | 18 ++++++++++++++++-- rd_stats.c | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/count.c b/count.c index 03469b0..6424baa 100644 --- a/count.c +++ b/count.c @@ -463,8 +463,8 @@ __nr_t get_usb_nr(void) __nr_t get_filesystem_nr(void) { FILE *fp; - char line[512], fs_name[MAX_FS_LEN], mountp[256]; - char *pos = 0; + char line[512], fs_name[MAX_FS_LEN], mountp[256], type[128]; + char *pos = 0, *pos2 = 0; __nr_t fs = 0; int skip = 0, skip_next = 0; struct statvfs buf; @@ -491,6 +491,20 @@ __nr_t get_filesystem_nr(void) if (pos == NULL) continue; + /* + * Find second field separator position, + * read filesystem type, + * if filesystem type is autofs, skip it + */ + memset(type, 0, sizeof(type)); + pos2 = strchr(pos + 1, ' '); + if (pos2 == NULL) + continue; + + sscanf(pos2 + 1, "%127s", type); + if(strcmp(type, "autofs") == 0) + continue; + /* Read filesystem name and mount point */ sscanf(line, "%127s", fs_name); sscanf(pos + 1, "%255s", mountp); diff --git a/rd_stats.c b/rd_stats.c index 61dc958..43e082c 100644 --- a/rd_stats.c +++ b/rd_stats.c @@ -2464,10 +2464,10 @@ __nr_t read_bus_usb_dev(struct stats_pwr_usb *st_pwr_usb, __nr_t nr_alloc) __nr_t read_filesystem(struct stats_filesystem *st_filesystem, __nr_t nr_alloc) { FILE *fp; - char line[512], fs_name[128], mountp[256]; + char line[512], fs_name[128], mountp[256], type[128]; int skip = 0, skip_next = 0; char *pos = 0; - __nr_t fs_read = 0; + __nr_t fs_read = 0, *pos2 = 0; struct stats_filesystem *st_filesystem_i; struct statvfs buf; @@ -2491,6 +2491,20 @@ __nr_t read_filesystem(struct stats_filesystem *st_filesystem, __nr_t nr_alloc) if (pos == NULL) continue; + /* + * Find second field separator position, + * read filesystem type, + * if filesystem type is autofs, skip it + */ + memset(type, 0, sizeof(type)); + pos2 = strchr(pos + 1, ' '); + if (pos2 == NULL) + continue; + + sscanf(pos2 + 1, "%127s", type); + if(strcmp(type, "autofs") == 0) + continue; + /* Read current filesystem name */ sscanf(line, "%127s", fs_name); /* -- 2.16.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor