On 02/04/2014 05:25 AM, Markus Armbruster wrote:
> Second guessing when a pathname is too long for a system call is not a
> good idea. If it's too long, the system call will tell you. As Dan
> noted, PATH_MAX is *not* a hard limit.
>
> {PATH_MAX}
> Maximum number of bytes the implementation will store as a
> pathname in a user-supplied buffer of unspecified size,
> including the terminating null character. Minimum number the
> implementation will accept as the maximum number of bytes in a
> pathname.Linux allows unbelievably long absolute names. Jim Meyering proved with coreutils that you can create an absolute name well over a megabyte in length. The trick is that you have to access it via relative names where each relative name is PATH_MAX or less (that is, the Linux kernel refuses to operate on more than a page at a time when doing file name resolution), by using openat() and friends. mkdirat() can create a directory with an absolute name longer than PATH_MAX, even if mkdir() can't. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
