Hi, Sorry to bother you here. I'm using NFS and realize it doesn't support opening a file with "O_DIRECT | O_APPEND". After checking the source code, I found it has one function that checks explicitly whether there is a combination flag of "O_APPEND | O_DIRECT". If so, it will return invalid arguments. int nfs_check_flags(int flags) { if ((flags & (O_APPEND | O_DIRECT)) == (O_APPEND | O_DIRECT)) return -EINVAL; return 0; } But I don't understand why NFS doesn't support this flag combination. I'd appreciate it if someone could explain this to me. Thanks in advance. Best, Tao