We need more fine grained control over which POSIX semantics we'd like
to enable per file handle. Currently POSIX_FLAGS_OPEN is a kitchensink
for all kinds of stuff like:
- POSIX unlink
- POSIX byte-range locks
- POSIX rename
- delayed writetime update
- more...
For CIFS UNIX extensions we use POSIX_FLAGS_ALL so semantics are
preserved. OS X clients will enable POSIX rename via AAPL.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=11065
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
} files_struct;
#define FSP_POSIX_FLAGS_OPEN 0x01
+#define FSP_POSIX_FLAGS_RENAME 0x02
#define FSP_POSIX_FLAGS_ALL \
- (FSP_POSIX_FLAGS_OPEN)
+ (FSP_POSIX_FLAGS_OPEN | \
+ FSP_POSIX_FLAGS_RENAME)
struct vuid_cache_entry {
struct auth_session_info *session_info;
}
if (S_ISDIR(fsp->fsp_name->st.st_ex_mode)) {
- if (fsp->posix_flags & FSP_POSIX_FLAGS_OPEN) {
+ if (fsp->posix_flags & (FSP_POSIX_FLAGS_OPEN|FSP_POSIX_FLAGS_RENAME)) {
return NT_STATUS_OK;
}