diff options
Diffstat (limited to 'src/libs/zbxsysinfo/solaris/inodes.c')
-rw-r--r-- | src/libs/zbxsysinfo/solaris/inodes.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/libs/zbxsysinfo/solaris/inodes.c b/src/libs/zbxsysinfo/solaris/inodes.c index 072bcd18836..317934e5ae5 100644 --- a/src/libs/zbxsysinfo/solaris/inodes.c +++ b/src/libs/zbxsysinfo/solaris/inodes.c @@ -17,8 +17,8 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -#include "inodes.h" #include "zbxsysinfo.h" +#include "inodes.h" #include "../sysinfo.h" #include "log.h" @@ -42,7 +42,6 @@ int get_fs_inode_stat(const char *fs, zbx_uint64_t *itotal, zbx_uint64_t *ifree, zbx_strerror(errno)); return SYSINFO_RET_FAIL; } - *itotal = (zbx_uint64_t)s.f_files; *ifree = (zbx_uint64_t)s.ZBX_FFREE; *iused = (zbx_uint64_t)(s.f_files - s.f_ffree); @@ -57,8 +56,8 @@ int get_fs_inode_stat(const char *fs, zbx_uint64_t *itotal, zbx_uint64_t *ifree, } else if (NULL != mode && (0 == strcmp(mode, "pfree") || 0 == strcmp(mode, "pused"))) { - *error = zbx_strdup(NULL, "Cannot calculate percentage because total is zero."); - return SYSINFO_RET_FAIL; + *pfree = 100.0; + *pused = 0.0; } return SYSINFO_RET_OK; @@ -66,7 +65,7 @@ int get_fs_inode_stat(const char *fs, zbx_uint64_t *itotal, zbx_uint64_t *ifree, #undef ZBX_FFREE } -static int vfs_fs_inode(AGENT_REQUEST *request, AGENT_RESULT *result) +static int vfs_fs_inode_local(AGENT_REQUEST *request, AGENT_RESULT *result) { char *fsname, *mode, *error; zbx_uint64_t total, free, used; @@ -122,7 +121,7 @@ static int vfs_fs_inode(AGENT_REQUEST *request, AGENT_RESULT *result) return SYSINFO_RET_OK; } -int VFS_FS_INODE(AGENT_REQUEST *request, AGENT_RESULT *result) +int vfs_fs_inode(AGENT_REQUEST *request, AGENT_RESULT *result) { - return zbx_execute_threaded_metric(vfs_fs_inode, request, result); + return zbx_execute_threaded_metric(vfs_fs_inode_local, request, result); } |