harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Deakin <oliver.dea...@googlemail.com>
Subject Re: [jira] Created: (HARMONY-6238) [classlib][luni] File path limit set to 1K chars for all file systems
Date Thu, 18 Jun 2009 17:27:10 GMT
Hi Tim,

I've had a quick look around for the "right" way to do this, and it 
seems there are 2 options:
1) Determine the max path length from a system macro, probably PATH_MAX 
in limits.h.
2) Use the unix system call pathconf() to get the max path length.

I think using a build time constant, as in 1, is preferable, however 
this macro is not defined on all platforms. On zOS, for example, only 
_POSIX_PATH_MAX is defined, and that is set to a paltry 256 (which is 
not the real max path length - pathconf() tells me it is 1024).

Perhaps to start with we can include /usr/include/linux/limits.h and use 
PATH_MAX for linux platforms (I'm assuming that file exists for linux 
distros in general here - perhaps someone can clarify this?) and on 
non-linux platforms fall back to a default of 1024. We can add other 
platforms in as we find the correct includes/macro definitions for them.


Tim Ellison (JIRA) wrote:
> [classlib][luni] File path limit set to 1K chars for all file systems
> ---------------------------------------------------------------------
>                  Key: HARMONY-6238
>                  URL: https://issues.apache.org/jira/browse/HARMONY-6238
>              Project: Harmony
>           Issue Type: Sub-task
>           Components: Classlib
>     Affects Versions: 5.0M10
>             Reporter: Tim Ellison
> In Harmony's portlib  (modules/portlib/src/main/native/include/shared/hyport.h)  we set
the maximum path length to 1024
> /** HyMaxPath was chosen from unix MAXPATHLEN.  Override in platform
>   * specific hyfile implementations if needed.
>   */
> #define HyMaxPath   1024
> This causes some long file path operations to fail with an IOException on Harmony which
do not fail on the RI.
> Harmony should allow for file systems that handle longer paths.

Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

View raw message