Blob Blame History Raw
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);
 	}