6815768: File.getxxxSpace() methods fail for very large file systems under 32bit Java

Reviewed-by: ohair
This commit is contained in:
Alan Bateman 2010-02-27 19:26:59 +00:00
parent 32d811b1f7
commit ab0eb81f5b

View File

@ -414,9 +414,9 @@ Java_java_io_UnixFileSystem_getSpace(JNIEnv *env, jobject this,
jlong rv = 0L;
WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) {
struct statvfs fsstat;
memset(&fsstat, 0, sizeof(struct statvfs));
if (statvfs(path, &fsstat) == 0) {
struct statvfs64 fsstat;
memset(&fsstat, 0, sizeof(fsstat));
if (statvfs64(path, &fsstat) == 0) {
switch(t) {
case java_io_FileSystem_SPACE_TOTAL:
rv = jlong_mul(long_to_jlong(fsstat.f_frsize),