/* Open the file with sync, if they asked for it, but
'strict sync = no' turns this client request into a no-op */
- if (create_options & (NTCREATEX_OPTIONS_WRITE_THROUGH) && !(pvfs->flags | PVFS_FLAG_STRICT_SYNC)) {
+ if (create_options & (NTCREATEX_OPTIONS_WRITE_THROUGH) && pvfs->flags & PVFS_FLAG_STRICT_SYNC) {
flags |= O_SYNC;
}
case NTCREATEX_DISP_SUPERSEDE:
case NTCREATEX_DISP_OVERWRITE_IF:
if (name->stream_name == NULL) {
- flags = O_TRUNC;
+ flags |= O_TRUNC;
} else {
stream_truncate = true;
}
if (!name->stream_exists) {
return NT_STATUS_OBJECT_NAME_NOT_FOUND;
}
- flags = 0;
break;
case NTCREATEX_DISP_OVERWRITE:
return NT_STATUS_OBJECT_NAME_NOT_FOUND;
}
if (name->stream_name == NULL) {
- flags = O_TRUNC;
+ flags |= O_TRUNC;
} else {
stream_truncate = true;
}
if (name->stream_exists) {
return NT_STATUS_OBJECT_NAME_COLLISION;
}
- flags = 0;
break;
case NTCREATEX_DISP_OPEN_IF:
- flags = 0;
break;
default: