Currently
fd = open("aaa",O_RDWR|O_CREAT|O_APPEND,0666);
gives us fmode of 1 instead of 3. We should only infer O_WRONLY if no
other mode is explicitly specified.
Reported-by: Fyodor Ustinov <ufm@ufm.su>
Signed-off-by: Sage Weil <sage@newdream.net>
if ((flags & O_DIRECTORY) == O_DIRECTORY)
return CEPH_FILE_MODE_PIN;
#endif
- if ((flags & O_APPEND) == O_APPEND)
+ if ((flags & O_APPEND) &&
+ (flags & O_ACCMODE) == 0)
flags |= O_WRONLY;
if ((flags & O_ACCMODE) == O_RDWR)