summaryrefslogtreecommitdiff
path: root/source3/modules/onefs_system.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/modules/onefs_system.c')
-rw-r--r--source3/modules/onefs_system.c58
1 files changed, 4 insertions, 54 deletions
diff --git a/source3/modules/onefs_system.c b/source3/modules/onefs_system.c
index 4ebdf12a50..acc38fba30 100644
--- a/source3/modules/onefs_system.c
+++ b/source3/modules/onefs_system.c
@@ -68,58 +68,6 @@ static void smlock_dump(int debuglevel, const struct sm_lock *sml)
(int)sml->sm_timeout.tv_usec));
}
-/*
- * Return string value of onefs oplock types.
- */
-static const char *onefs_oplock_str(enum oplock_type onefs_oplock_type)
-{
- switch (onefs_oplock_type) {
- case OPLOCK_NONE:
- return "OPLOCK_NONE";
- case OPLOCK_EXCLUSIVE:
- return "OPLOCK_EXCLUSIVE";
- case OPLOCK_BATCH:
- return "OPLOCK_BATCH";
- case OPLOCK_SHARED:
- return "OPLOCK_SHARED";
- default:
- break;
- }
- return "UNKNOWN";
-}
-
-/*
- * Convert from onefs to samba oplock.
- */
-static int onefs_oplock_to_samba_oplock(enum oplock_type onefs_oplock)
-{
- switch (onefs_oplock) {
- case OPLOCK_NONE:
- return NO_OPLOCK;
- case OPLOCK_EXCLUSIVE:
- return EXCLUSIVE_OPLOCK;
- case OPLOCK_BATCH:
- return BATCH_OPLOCK;
- case OPLOCK_SHARED:
- return LEVEL_II_OPLOCK;
- default:
- DEBUG(0, ("unknown oplock type %d found\n", onefs_oplock));
- break;
- }
- return NO_OPLOCK;
-}
-
-/*
- * Convert from samba to onefs oplock.
- */
-static enum oplock_type onefs_samba_oplock_to_oplock(int samba_oplock_type)
-{
- if (BATCH_OPLOCK_TYPE(samba_oplock_type)) return OPLOCK_BATCH;
- if (EXCLUSIVE_OPLOCK_TYPE(samba_oplock_type)) return OPLOCK_EXCLUSIVE;
- if (LEVEL_II_OPLOCK_TYPE(samba_oplock_type)) return OPLOCK_SHARED;
- return OPLOCK_NONE;
-}
-
/**
* External interface to ifs_createfile
*/
@@ -164,10 +112,12 @@ int onefs_sys_create_file(connection_struct *conn,
pifs_sd = &ifs_sd;
}
+ /* Stripping off private bits will be done for us. */
onefs_oplock = onefs_samba_oplock_to_oplock(oplock_request);
- /* Temporary until oplock work is added to vfs_onefs */
- onefs_oplock = OPLOCK_NONE;
+ if (!lp_oplocks(SNUM(conn))) {
+ SMB_ASSERT(onefs_oplock == OPLOCK_NONE);
+ }
/* Convert samba dos flags to UF_DOS_* attributes. */
onefs_dos_attributes = dos_attributes_to_stat_dos_flags(dos_flags);