Strange things happened when is_dir() suddenly returned false. The directory is there, was always there and file_exists() confirms that. Last thing i’ve changed on that box was the Kernel update on my Slackware box to 2.6.31 so restarting with 2.6.27 and problem is gone. Very strange. Okay digging a bit deeper, that directory is mounted via cifs (samba share) and when looking at stat output or ls -lai the Inode number is huge. Really huge. That was caused by a patch that enables cifs serverino option per default but breaks all applications that are not compiled with large file support. The workaround for this is to pass the option “noserverino” to mount.cifs.