diff options
author | martti <martti> | 2006-07-02 10:13:11 +0000 |
---|---|---|
committer | martti <martti> | 2006-07-02 10:13:11 +0000 |
commit | a85d2ca8ac0851669910fa7e5bfdc06247ca78b4 (patch) | |
tree | d58709d7696d3244f3749dc68873cb01bd4554b5 /sysutils | |
parent | 721388fa31d818fea6b8c1a92b80dfe3a1a3b190 (diff) | |
download | pkgsrc-a85d2ca8ac0851669910fa7e5bfdc06247ca78b4.tar.gz |
Apply io_sysctl patch by Kibum Han (pkg/33772)
Diffstat (limited to 'sysutils')
-rw-r--r-- | sysutils/xfce4-diskperf-plugin/distinfo | 3 | ||||
-rw-r--r-- | sysutils/xfce4-diskperf-plugin/patches/patch-aa | 84 |
2 files changed, 86 insertions, 1 deletions
diff --git a/sysutils/xfce4-diskperf-plugin/distinfo b/sysutils/xfce4-diskperf-plugin/distinfo index d25a15fe1f3..b74e9be8016 100644 --- a/sysutils/xfce4-diskperf-plugin/distinfo +++ b/sysutils/xfce4-diskperf-plugin/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.4 2005/02/24 13:40:59 agc Exp $ +$NetBSD: distinfo,v 1.5 2006/07/02 10:13:11 martti Exp $ SHA1 (xfce4-diskperf-plugin-1.5.tar.gz) = 1c1f2bea61d48c5a5ac25dd072d5734af0491854 RMD160 (xfce4-diskperf-plugin-1.5.tar.gz) = 2eeb070aeb2be2b53ff57e86f684c9d430d637ab Size (xfce4-diskperf-plugin-1.5.tar.gz) = 226767 bytes +SHA1 (patch-aa) = 86a3cabe41c9470716f82000e41e6d9b64f6d372 diff --git a/sysutils/xfce4-diskperf-plugin/patches/patch-aa b/sysutils/xfce4-diskperf-plugin/patches/patch-aa new file mode 100644 index 00000000000..1ad37a8301e --- /dev/null +++ b/sysutils/xfce4-diskperf-plugin/patches/patch-aa @@ -0,0 +1,84 @@ +$NetBSD: patch-aa,v 1.3 2006/07/02 10:13:11 martti Exp $ + +--- panel-plugin/devperf.c.orig 2003-11-30 12:58:54.000000000 +0200 ++++ panel-plugin/devperf.c 2006-07-02 10:05:44.000000000 +0300 +@@ -264,21 +264,39 @@ + const char *device = (const char *) p_pvDevice; + struct timeval tv; + size_t size, i, ndrives; ++#ifdef HW_DISKSTATS + struct disk_sysctl *drives, drive; ++#else ++ struct io_sysctl *drives, drive; ++#endif + int mib[3]; + + mib[0] = CTL_HW; ++#ifdef HW_DISKSTATS + mib[1] = HW_DISKSTATS; + mib[2] = sizeof(struct disk_sysctl); ++#else ++ mib[1] = HW_IOSTATS; ++ mib[2] = sizeof(struct io_sysctl); ++#endif ++ + if (sysctl(mib, 3, NULL, &size, NULL, 0) == -1) + return(-1); ++#ifdef HW_DISKSTATS + ndrives = size / sizeof(struct disk_sysctl); ++#else ++ ndrives = size / sizeof(struct io_sysctl); ++#endif + drives = malloc(size); + if (sysctl(mib, 3, drives, &size, NULL, 0) == -1) + return(-1); + + for (i = 0; i < ndrives; i++) { ++#ifdef HW_DISKSTATS + if (strcmp(drives[i].dk_name, device) == 0) { ++#else ++ if (strcmp(drives[i].name, device) == 0) { ++#endif + drive = drives[i]; + break; + } +@@ -292,13 +310,18 @@ + gettimeofday (&tv, 0); + perf->timestamp_ns = (uint64_t)1000ull * 1000ull * 1000ull * + tv.tv_sec + 1000ull * tv.tv_usec; +-#if defined(__NetBSD_Version__) && (__NetBSD_Version__ < 106110000) ++#ifdef HW_DISKSTATS ++# if defined(__NetBSD_Version__) && (__NetBSD_Version__ < 106110000) + /* NetBSD < 1.6K does not have separate read/write statistics. */ + perf->rbytes = drive.dk_bytes; + perf->wbytes = drive.dk_bytes; +-#else ++# else + perf->rbytes = drive.dk_rbytes; + perf->wbytes = drive.dk_wbytes; ++# endif ++#else ++ perf->rbytes = drive.rbytes; ++ perf->wbytes = drive.wbytes; + #endif + + /* +@@ -306,10 +329,18 @@ + * time separatly. + * -- Benedikt + */ ++#ifdef HW_DISKSTATS + perf->qlen = drive.dk_xfer; + perf->rbusy_ns = ((uint64_t)1000ull * 1000ull * 1000ull * drive.dk_time_sec + + 1000ull * drive.dk_time_usec) / 2ull; + perf->wbusy_ns = perf->rbusy_ns; ++#else ++ perf->qlen = drive.xfer; ++ perf->rbusy_ns = ((uint64_t)1000ull * 1000ull * 1000ull * drive.time_sec ++ + 1000ull * drive.time_usec) / 2ull; ++ perf->wbusy_ns = perf->rbusy_ns; ++ ++#endif + + return(0); + } |