On 8/2/15 8:50 PM, Steve Dahl wrote:
If on AIX 6.1, I mount an NFS volume exported from CentOS 6.7, Bash
(4.3.30) is unable to do tab completion within that file system. If (for
example) I search for files that I know exist, such as:
ls -l /path/to/files/*.h
...no answers are returned even though
ls -l /path/to/files
...will show those files.
In the course of trying to understand why AIX didn't like our new NFS
server, I found that bash's glob.c depends on opendir(), and that in a
simple test on that NFS file system, opendir() fails with EOVERFLOW.
The AIX man page for opendir() documents opendir64() but doesn't go into a
lot of detail about what it's for other than the inferred hint that it
might allow for file sizes larger than 4 GB.
The same simple test that gets EOVERFLOW when I use opendir() indeed seems
to succeed when I use opendir64(). Once you know the answer, you can find
hints on IBM forums that seem to confirm it.
Is there already a version of "bash" somewhere that already supports large
file systems on AIX if its compilation is configured right?
Bash and Readline don't use opendir64/readdir64 directly. You might be
able to get it to work by using cpp defines in lib/readline/complete.c
Chet