gh-84393: Remove AIX workaround: re-enable posix_fadvise and f_allocate (GH-144784)

Co-authored-by: Batuhan Taskaya <batuhanosmantaskaya@gmail.com>
This commit is contained in:
Petr Viktorin 2026-02-19 15:11:21 +01:00 committed by GitHub
parent 28b3a8ac08
commit f1cf762ee7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 19 deletions

View file

@ -0,0 +1 @@
Re-enable :func:`os.posix_fallocate` and :func:`os.posix_fadvise` on AIX.

View file

@ -9418,7 +9418,7 @@ exit:
#endif /* (defined HAVE_TRUNCATE || defined MS_WINDOWS) */
#if (defined(HAVE_POSIX_FALLOCATE) && !defined(POSIX_FADVISE_AIX_BUG) && !defined(__wasi__))
#if (defined(HAVE_POSIX_FALLOCATE) && !defined(__wasi__))
PyDoc_STRVAR(os_posix_fallocate__doc__,
"posix_fallocate($module, fd, offset, length, /)\n"
@ -9463,9 +9463,9 @@ exit:
return return_value;
}
#endif /* (defined(HAVE_POSIX_FALLOCATE) && !defined(POSIX_FADVISE_AIX_BUG) && !defined(__wasi__)) */
#endif /* (defined(HAVE_POSIX_FALLOCATE) && !defined(__wasi__)) */
#if (defined(HAVE_POSIX_FADVISE) && !defined(POSIX_FADVISE_AIX_BUG))
#if defined(HAVE_POSIX_FADVISE)
PyDoc_STRVAR(os_posix_fadvise__doc__,
"posix_fadvise($module, fd, offset, length, advice, /)\n"
@ -9520,7 +9520,7 @@ exit:
return return_value;
}
#endif /* (defined(HAVE_POSIX_FADVISE) && !defined(POSIX_FADVISE_AIX_BUG)) */
#endif /* defined(HAVE_POSIX_FADVISE) */
#if defined(MS_WINDOWS)
@ -13611,4 +13611,4 @@ exit:
#ifndef OS__EMSCRIPTEN_LOG_METHODDEF
#define OS__EMSCRIPTEN_LOG_METHODDEF
#endif /* !defined(OS__EMSCRIPTEN_LOG_METHODDEF) */
/*[clinic end generated code: output=5fd2aeb6ba9a5df8 input=a9049054013a1b77]*/
/*[clinic end generated code: output=89c21e2151ac7316 input=a9049054013a1b77]*/

View file

@ -13376,19 +13376,9 @@ os_truncate_impl(PyObject *module, path_t *path, Py_off_t length)
#endif /* HAVE_TRUNCATE || MS_WINDOWS */
/* Issue #22396: On 32-bit AIX platform, the prototypes of os.posix_fadvise()
and os.posix_fallocate() in system headers are wrong if _LARGE_FILES is
defined, which is the case in Python on AIX. AIX bug report:
http://www-01.ibm.com/support/docview.wss?uid=isg1IV56170 */
#if defined(_AIX) && defined(_LARGE_FILES) && !defined(__64BIT__)
# define POSIX_FADVISE_AIX_BUG
#endif
/* GH-111804: Due to posix_fallocate() not having consistent semantics across
OSs, support was dropped in WASI preview2. */
#if defined(HAVE_POSIX_FALLOCATE) && !defined(POSIX_FADVISE_AIX_BUG) && \
!defined(__wasi__)
#if defined(HAVE_POSIX_FALLOCATE) && !defined(__wasi__)
/*[clinic input]
os.posix_fallocate
@ -13426,10 +13416,10 @@ os_posix_fallocate_impl(PyObject *module, int fd, Py_off_t offset,
errno = result;
return posix_error();
}
#endif /* HAVE_POSIX_FALLOCATE) && !POSIX_FADVISE_AIX_BUG && !defined(__wasi__) */
#endif /* HAVE_POSIX_FALLOCATE && !defined(__wasi__) */
#if defined(HAVE_POSIX_FADVISE) && !defined(POSIX_FADVISE_AIX_BUG)
#if defined(HAVE_POSIX_FADVISE)
/*[clinic input]
os.posix_fadvise
@ -13473,7 +13463,7 @@ os_posix_fadvise_impl(PyObject *module, int fd, Py_off_t offset,
errno = result;
return posix_error();
}
#endif /* HAVE_POSIX_FADVISE && !POSIX_FADVISE_AIX_BUG */
#endif /* HAVE_POSIX_FADVISE */
#ifdef MS_WINDOWS