Use devstat instead of GEOM private statistics structure.
This commit is contained in:
parent
7e69ddc973
commit
2892a228ad
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=112372
@ -40,8 +40,8 @@
|
||||
#include <sys/mman.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/devicestat.h>
|
||||
|
||||
#include <geom/geom_stats.h>
|
||||
|
||||
/************************************************************/
|
||||
static uint npages, pagesize, spp;
|
||||
@ -85,11 +85,11 @@ geom_stats_open(void)
|
||||
|
||||
if (statsfd != -1)
|
||||
return (EBUSY);
|
||||
statsfd = open(_PATH_DEV GEOM_STATS_DEVICE, O_RDONLY);
|
||||
statsfd = open(_PATH_DEV DEVSTAT_DEVICE_NAME, O_RDONLY);
|
||||
if (statsfd < 0)
|
||||
return (errno);
|
||||
pagesize = getpagesize();
|
||||
spp = pagesize / sizeof(struct g_stat);
|
||||
spp = pagesize / sizeof(struct devstat);
|
||||
p = mmap(NULL, pagesize, PROT_READ, 0, statsfd, 0);
|
||||
if (p == MAP_FAILED) {
|
||||
error = errno;
|
||||
@ -166,14 +166,14 @@ geom_stats_snapshot_reset(void *arg)
|
||||
sp->u = sp->v = 0;
|
||||
}
|
||||
|
||||
struct g_stat *
|
||||
struct devstat *
|
||||
geom_stats_snapshot_next(void *arg)
|
||||
{
|
||||
struct g_stat *gsp;
|
||||
struct devstat *gsp;
|
||||
struct snapshot *sp;
|
||||
|
||||
sp = arg;
|
||||
gsp = (struct g_stat *)
|
||||
gsp = (struct devstat *)
|
||||
(sp->ptr + sp->u * pagesize + sp->v * sizeof *gsp);
|
||||
if (++sp->v >= sp->perpage) {
|
||||
if (++sp->u >= sp->pages)
|
||||
|
@ -33,7 +33,6 @@
|
||||
|
||||
#include <sys/queue.h>
|
||||
#include <sys/time.h>
|
||||
#include <geom/geom_stats.h>
|
||||
|
||||
void geom_stats_close(void);
|
||||
void geom_stats_resync(void);
|
||||
@ -42,7 +41,7 @@ void *geom_stats_snapshot_get(void);
|
||||
void geom_stats_snapshot_free(void *arg);
|
||||
void geom_stats_snapshot_timestamp(void *arg, struct timespec *tp);
|
||||
void geom_stats_snapshot_reset(void *arg);
|
||||
struct g_stat *geom_stats_snapshot_next(void *arg);
|
||||
struct devstat *geom_stats_snapshot_next(void *arg);
|
||||
|
||||
char *geom_getxml(void);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user