Extend libspl as required for linux FMA integration.
These changes lay some of the ground work for supporting something similar to FMA event under Solaris. In particular these changes add or modify the following areas. First off an implementation of the gethrestime() function is added to libspl. Secondly, the missing type processorid_t has been added. And finally the lib/libspl/include/sys/fm/{protocol.h|util.h} stub headers have been removed in favor of updating the full versions in module/zfs/include/sys/fm/{protocol.h|util.h} to work cleanly in both user and kernel space.
This commit is contained in:
parent
c58ab91288
commit
9b8aa5f57e
|
@ -14,6 +14,7 @@ lib_LTLIBRARIES = libspl.la
|
|||
libspl_la_SOURCES = \
|
||||
${top_srcdir}/lib/libspl/getexecname.c \
|
||||
${top_srcdir}/lib/libspl/gethrtime.c \
|
||||
${top_srcdir}/lib/libspl/gethrestime.c \
|
||||
${top_srcdir}/lib/libspl/getmntany.c \
|
||||
${top_srcdir}/lib/libspl/list.c \
|
||||
${top_srcdir}/lib/libspl/mkdirp.c \
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
* CDDL HEADER START
|
||||
*
|
||||
* The contents of this file are subject to the terms of the
|
||||
* Common Development and Distribution License, Version 1.0 only
|
||||
* (the "License"). You may not use this file except in compliance
|
||||
* with the License.
|
||||
* Common Development and Distribution License (the "License").
|
||||
* You may not use this file except in compliance with the License.
|
||||
*
|
||||
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
* or http://www.opensolaris.org/os/licensing.
|
||||
|
@ -19,15 +18,21 @@
|
|||
*
|
||||
* CDDL HEADER END
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
* Use is subject to license terms.
|
||||
*/
|
||||
|
||||
#ifndef _LIBSPL_SYS_FM_UTIL_H
|
||||
#define _LIBSPL_SYS_FM_UTIL_H
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
static inline void fm_init(void) { }
|
||||
static inline void fm_fini(void) { }
|
||||
void
|
||||
gethrestime(timestruc_t *ts)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
#endif
|
||||
gettimeofday(&tv, NULL);
|
||||
ts->tv_sec = tv.tv_sec;
|
||||
ts->tv_nsec = tv.tv_usec * NSEC_PER_USEC;
|
||||
}
|
|
@ -2,7 +2,6 @@ nobase_pkginclude_HEADERS = *.h
|
|||
nobase_pkginclude_HEADERS += ia32/sys/*.h
|
||||
nobase_pkginclude_HEADERS += rpc/*.h
|
||||
nobase_pkginclude_HEADERS += sys/*.h
|
||||
nobase_pkginclude_HEADERS += sys/fm/*.h
|
||||
nobase_pkginclude_HEADERS += sys/dktp/*.h
|
||||
nobase_pkginclude_HEADERS += sys/sysevent/*.h
|
||||
nobase_pkginclude_HEADERS += tsol/*.h
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* CDDL HEADER START
|
||||
*
|
||||
* The contents of this file are subject to the terms of the
|
||||
* Common Development and Distribution License, Version 1.0 only
|
||||
* (the "License"). You may not use this file except in compliance
|
||||
* with the License.
|
||||
*
|
||||
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
* or http://www.opensolaris.org/os/licensing.
|
||||
* See the License for the specific language governing permissions
|
||||
* and limitations under the License.
|
||||
*
|
||||
* When distributing Covered Code, include this CDDL HEADER in each
|
||||
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
* If applicable, add the following below this CDDL HEADER, with the
|
||||
* fields enclosed by brackets "[]" replaced with your own identifying
|
||||
* information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
*
|
||||
* CDDL HEADER END
|
||||
*/
|
||||
/*
|
||||
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
* Use is subject to license terms.
|
||||
*/
|
||||
|
||||
#ifndef _LIBSPL_SYS_FM_PROTOCOL_H
|
||||
#define _LIBSPL_SYS_FM_PROTOCOL_H
|
||||
|
||||
#endif
|
|
@ -29,4 +29,6 @@
|
|||
|
||||
#define getcpuid() (-1)
|
||||
|
||||
typedef int processorid_t;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,9 +31,14 @@
|
|||
#include <sys/types.h>
|
||||
|
||||
#ifndef NANOSEC
|
||||
#define NANOSEC 1000000000
|
||||
#define NANOSEC 1000000000
|
||||
#endif
|
||||
|
||||
#ifndef NSEC_PER_USEC
|
||||
#define NSEC_PER_USEC 1000L
|
||||
#endif
|
||||
|
||||
extern hrtime_t gethrtime(void);
|
||||
extern void gethrestime(timestruc_t *);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue