HADOOP-10962. Flags for posix_fadvise are not valid in some architectures (David Villegas via Colin Patrick McCabe)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1617621 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4239695588
commit
f7ac928a7c
@ -566,6 +566,9 @@ Release 2.6.0 - UNRELEASED
|
|||||||
HADOOP-10851. NetgroupCache does not remove group memberships. (Benoy
|
HADOOP-10851. NetgroupCache does not remove group memberships. (Benoy
|
||||||
Antony via Arpit Agarwal)
|
Antony via Arpit Agarwal)
|
||||||
|
|
||||||
|
HADOOP-10962. Flags for posix_fadvise are not valid in some architectures
|
||||||
|
(David Villegas via Colin Patrick McCabe)
|
||||||
|
|
||||||
Release 2.5.0 - UNRELEASED
|
Release 2.5.0 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -171,6 +171,35 @@ static void nioe_deinit(JNIEnv *env) {
|
|||||||
nioe_ctor = NULL;
|
nioe_ctor = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compatibility mapping for fadvise flags. Return the proper value from fnctl.h.
|
||||||
|
* If the value is not known, return the argument unchanged.
|
||||||
|
*/
|
||||||
|
static int map_fadvise_flag(jint flag) {
|
||||||
|
switch(flag) {
|
||||||
|
case org_apache_hadoop_io_nativeio_NativeIO_POSIX_POSIX_FADV_NORMAL:
|
||||||
|
return POSIX_FADV_NORMAL;
|
||||||
|
break;
|
||||||
|
case org_apache_hadoop_io_nativeio_NativeIO_POSIX_POSIX_FADV_RANDOM:
|
||||||
|
return POSIX_FADV_RANDOM;
|
||||||
|
break;
|
||||||
|
case org_apache_hadoop_io_nativeio_NativeIO_POSIX_POSIX_FADV_SEQUENTIAL:
|
||||||
|
return POSIX_FADV_SEQUENTIAL;
|
||||||
|
break;
|
||||||
|
case org_apache_hadoop_io_nativeio_NativeIO_POSIX_POSIX_FADV_WILLNEED:
|
||||||
|
return POSIX_FADV_WILLNEED;
|
||||||
|
break;
|
||||||
|
case org_apache_hadoop_io_nativeio_NativeIO_POSIX_POSIX_FADV_DONTNEED:
|
||||||
|
return POSIX_FADV_DONTNEED;
|
||||||
|
break;
|
||||||
|
case org_apache_hadoop_io_nativeio_NativeIO_POSIX_POSIX_FADV_NOREUSE:
|
||||||
|
return POSIX_FADV_NOREUSE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* private static native void initNative();
|
* private static native void initNative();
|
||||||
*
|
*
|
||||||
@ -303,7 +332,7 @@ Java_org_apache_hadoop_io_nativeio_NativeIO_00024POSIX_posix_1fadvise(
|
|||||||
PASS_EXCEPTIONS(env);
|
PASS_EXCEPTIONS(env);
|
||||||
|
|
||||||
int err = 0;
|
int err = 0;
|
||||||
if ((err = posix_fadvise(fd, (off_t)offset, (off_t)len, flags))) {
|
if ((err = posix_fadvise(fd, (off_t)offset, (off_t)len, map_fadvise_flag(flags)))) {
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
throw_ioe(env, errno);
|
throw_ioe(env, errno);
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user