sysstat/sysstat-10.0.0-cifs_fopen.patch
Ivana Hutarova Varekova 3acb6bc7f6 - close the file descriptor in a special situation in read_uoptime function
- fix the number on open files in cifsiostat output
2011-05-04 08:29:58 +02:00

44 lines
1.3 KiB
Diff

diff -up sysstat-10.0.0/cifsiostat.c.pom sysstat-10.0.0/cifsiostat.c
--- sysstat-10.0.0/cifsiostat.c.pom 2011-03-11 18:09:57.000000000 +0100
+++ sysstat-10.0.0/cifsiostat.c 2011-05-04 08:09:45.000000000 +0200
@@ -319,6 +319,8 @@ void read_cifs_stat(int curr)
char line[256];
char aux[32];
int start = 0;
+ long long unsigned aux_open;
+ long long unsigned all_open = 0;
char cifs_name[MAX_NAME_LEN];
char name_tmp[MAX_NAME_LEN];
struct cifs_stats scifs;
@@ -337,7 +339,9 @@ void read_cifs_stat(int curr)
/* Read CIFS directory name */
if (isdigit((unsigned char) line[0]) && sscanf(line, aux , name_tmp) == 1) {
if (start) {
+ scifs.fopens = all_open;
save_stats(cifs_name, curr, &scifs);
+ all_open = 0;
}
else {
start = 1;
@@ -353,12 +357,19 @@ void read_cifs_stat(int curr)
}
if (!strncmp(line, "Opens:", 6)) {
sscanf(line, "Opens: %llu Closes:%llu Deletes: %llu",
- &scifs.fopens, &scifs.fcloses, &scifs.fdeletes);
+ &aux_open, &scifs.fcloses, &scifs.fdeletes);
+ all_open += aux_open;
+ }
+ if (!strncmp(line, "Posix Opens:", 12)) {
+ sscanf(line, "Posix Opens: %llu Posix Mkdirs: %*llu",
+ &aux_open);
+ all_open += aux_open;
}
}
}
if (start) {
+ scifs.fopens = all_open;
save_stats(cifs_name, curr, &scifs);
}