summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e94efcb)
raw | patch | inline | side by side (parent: e94efcb)
author | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Fri, 6 Apr 2007 08:08:03 +0000 (10:08 +0200) | ||
committer | Florian Forster <octo@leeloo.lan.home.verplant.org> | |
Fri, 6 Apr 2007 08:08:03 +0000 (10:08 +0200) |
src/disk.c | patch | blob | history | |
src/tape.c | patch | blob | history |
diff --git a/src/disk.c b/src/disk.c
index 74071cfda2dd8c5978b57215669e49ca85520719..771227064590e9f12cdf2304e52ed0ee0fdec39a 100644 (file)
--- a/src/disk.c
+++ b/src/disk.c
/* #endif defined(KERNEL_LINUX) */
#elif HAVE_LIBKSTAT
+# if HAVE_KSTAT_IO_T_WRITES && HAVE_KSTAT_IO_T_NWRITES && HAVE_KSTAT_IO_T_WTIME
+# define KIO_ROCTETS reads
+# define KIO_WOCTETS writes
+# define KIO_ROPS nreads
+# define KIO_WOPS nwrites
+# define KIO_RTIME rtime
+# define KIO_WTIME wtime
+# elif HAVE_KSTAT_IO_T_NWRITTEN && HAVE_KSTAT_IO_T_WRITES && HAVE_KSTAT_IO_T_WTIME
+# define KIO_ROCTETS nread
+# define KIO_WOCTETS nwritten
+# define KIO_ROPS reads
+# define KIO_WOPS writes
+# define KIO_RTIME rtime
+# define KIO_WTIME wtime
+# else
+# error "kstat_io_t does not have the required members"
+# endif
static kstat_io_t kio;
int i;
if (strncmp (ksp[i]->ks_class, "disk", 4) == 0)
{
- disk_submit (ksp[i]->ks_name, "disk_octets", kio.nread, kio.nwritten);
- disk_submit (ksp[i]->ks_name, "disk_ops", kio.reads, kio.writes);
+ disk_submit (ksp[i]->ks_name, "disk_octets",
+ kio.KIO_ROCTETS, kio.KIO_WOCTETS);
+ disk_submit (ksp[i]->ks_name, "disk_ops",
+ kio.KIO_ROPS, kio.KIO_WOPS);
/* FIXME: Convert this to microseconds if necessary */
- disk_submit (ksp[i]->ks_name, "disk_time", kio.rtime, kio.wtime);
+ disk_submit (ksp[i]->ks_name, "disk_time",
+ kio.KIO_RTIME, kio.KIO_WTIME);
}
else if (strncmp (ksp[i]->ks_class, "partition", 9) == 0)
{
- disk_submit (ksp[i]->ks_name, "disk_octets", kio.nread, kio.nwritten);
- disk_submit (ksp[i]->ks_name, "disk_ops", kio.reads, kio.writes);
+ disk_submit (ksp[i]->ks_name, "disk_octets",
+ kio.KIO_ROCTETS, kio.KIO_WOCTETS);
+ disk_submit (ksp[i]->ks_name, "disk_ops",
+ kio.KIO_ROPS, kio.KIO_WOPS);
}
}
#endif /* defined(HAVE_LIBKSTAT) */
diff --git a/src/tape.c b/src/tape.c
index 2345cb343e5d3e3590064496a3431a9a903ae1e3..61ce3ac755316f5a74b8e0bb90846e4c5888f97a 100644 (file)
--- a/src/tape.c
+++ b/src/tape.c
{
#if defined(HAVE_LIBKSTAT)
+# if HAVE_KSTAT_IO_T_WRITES && HAVE_KSTAT_IO_T_NWRITES && HAVE_KSTAT_IO_T_WTIME
+# define KIO_ROCTETS reads
+# define KIO_WOCTETS writes
+# define KIO_ROPS nreads
+# define KIO_WOPS nwrites
+# define KIO_RTIME rtime
+# define KIO_WTIME wtime
+# elif HAVE_KSTAT_IO_T_NWRITTEN && HAVE_KSTAT_IO_T_WRITES && HAVE_KSTAT_IO_T_WTIME
+# define KIO_ROCTETS nread
+# define KIO_WOCTETS nwritten
+# define KIO_ROPS reads
+# define KIO_WOPS writes
+# define KIO_RTIME rtime
+# define KIO_WTIME wtime
+# else
+# error "kstat_io_t does not have the required members"
+# endif
static kstat_io_t kio;
int i;
if (strncmp (ksp[i]->ks_class, "tape", 4) == 0)
{
- tape_submit (ksp[i]->ks_name, "tape_octets", kio.reads, kio.writes);
- tape_submit (ksp[i]->ks_name, "tape_ops", kio.nreads, kio.nwrites);
+ tape_submit (ksp[i]->ks_name, "tape_octets",
+ kio.KIO_ROCTETS, kio.KIO_WOCTETS);
+ tape_submit (ksp[i]->ks_name, "tape_ops",
+ kio.KIO_ROPS, kio.KIO_WOPS);
/* FIXME: Convert this to microseconds if necessary */
- tape_submit (ksp[i]->ks_name, "tape_time", kio.rtime, kio.wtime);
+ tape_submit (ksp[i]->ks_name, "tape_time",
+ kio.KIO_RTIME, kio.KIO_WTIME);
}
}
#endif /* defined(HAVE_LIBKSTAT) */