Right. On 64-bit arches, linux forces the O_LARGEFILE (0x8000) flag in sys_open(). FUSE passes the flags along in fuse_send_open(), which makes its way to 9pfuse's _fuseopen(). _fuseopen() _tries_ to ignore the O_LARGEFILE flag, but on 64-bit arches, the userspace fcntl header defines O_LARGEFILE as 0... even though the kernel still treats it as 0x8000. Friggin mess. Patch attached. -sqweek On Fri, Mar 21, 2008 at 7:08 PM, John Soros wrote: > Hi! > well, i have been having this error for quite a while with 9pfuse. on amd64 linux (archlinux), i couldn't even ls a mounted directory, now that i have a 32 bit system, ls works, but cp doesn't (i have no idea if it hasanything to do with the arch, though). > this is how i mount sources with p9p: > $ 9fs sources > $ 9 mount `namespace`/sources /tmp/sources > then ls in a directory in /tmp/sources works, but when i try to copy, attached is the output. > I'm open to testing whatever fixes you might suggest. > regs > John