summaryrefslogtreecommitdiffstats
path: root/source/param
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-02-06 21:05:34 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:47 -0500
commit83dbbdff345fa9e427c9579183f4380004bf3dd7 (patch)
tree07131c1ad34a7ba9ee809a65f30cb0eeb24c7cd3 /source/param
parentb10f4cdfc0767dbd88f29f42fa5a8d9a9c1959a2 (diff)
downloadsamba-83dbbdff345fa9e427c9579183f4380004bf3dd7.tar.gz
samba-83dbbdff345fa9e427c9579183f4380004bf3dd7.tar.xz
samba-83dbbdff345fa9e427c9579183f4380004bf3dd7.zip
r21191: Add in the POSIX open/mkdir/unlink calls.
Move more error code returns to NTSTATUS. Client test code to follow... See if this passes the build-farm before I add it into 3.0.25. Jeremy.
Diffstat (limited to 'source/param')
-rw-r--r--source/param/loadparm.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index f7dd30475ad..d7b23f615fb 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -5589,17 +5589,23 @@ void lp_set_posix_pathnames(void)
Global state for POSIX lock processing - CIFS unix extensions.
********************************************************************/
+BOOL posix_default_lock_was_set;
static enum brl_flavour posix_cifsx_locktype; /* By default 0 == WINDOWS_LOCK */
-enum brl_flavour lp_posix_cifsu_locktype(void)
+enum brl_flavour lp_posix_cifsu_locktype(files_struct *fsp)
{
- return posix_cifsx_locktype;
+ if (posix_default_lock_was_set) {
+ return posix_cifsx_locktype;
+ } else {
+ return fsp->posix_open ? POSIX_LOCK : WINDOWS_LOCK;
+ }
}
/*******************************************************************
********************************************************************/
-void lp_set_posix_cifsx_locktype(enum brl_flavour val)
+void lp_set_posix_default_cifsx_readwrite_locktype(enum brl_flavour val)
{
+ posix_default_lock_was_set = True;
posix_cifsx_locktype = val;
}