From 6095ad4e6f85d6bb172511c7f5382da68f78ec39 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Mon, 21 Feb 2005 02:19:13 +0000 Subject: [PATCH] use NfsFileSystem objects for nfs mounts --- bindings/java/src/jni/javasigar.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/bindings/java/src/jni/javasigar.c b/bindings/java/src/jni/javasigar.c index 2fa082a7..5531b52c 100644 --- a/bindings/java/src/jni/javasigar.c +++ b/bindings/java/src/jni/javasigar.c @@ -276,7 +276,7 @@ JNIEXPORT jobjectArray SIGAR_JNI(Sigar_getFileSystemList) sigar_file_system_list_t fslist; jobjectArray fsarray; jfieldID ids[FS_FIELD_MAX]; - jclass cls = SIGAR_FIND_CLASS("FileSystem"); + jclass nfs_cls=NULL, cls = SIGAR_FIND_CLASS("FileSystem"); dSIGAR(NULL); if ((status = sigar_file_system_list_get(sigar, &fslist)) != SIGAR_OK) { @@ -303,7 +303,22 @@ JNIEXPORT jobjectArray SIGAR_JNI(Sigar_getFileSystemList) for (i=0; iAllocObject(env, cls); + jobject fsobj; + jclass obj_cls; + + if ((fs->type == SIGAR_FSTYPE_NETWORK) && + (strcmp(fs->sys_type_name, "nfs") == 0)) + { + if (!nfs_cls) { + nfs_cls = SIGAR_FIND_CLASS("NfsFileSystem"); + } + obj_cls = nfs_cls; + } + else { + obj_cls = cls; + } + + fsobj = JENV->AllocObject(env, obj_cls); JENV->SetStringField(env, fsobj, ids[FS_FIELD_DIRNAME],