summaryrefslogtreecommitdiff
path: root/source3/locking
diff options
context:
space:
mode:
Diffstat (limited to 'source3/locking')
-rw-r--r--source3/locking/posix.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/source3/locking/posix.c b/source3/locking/posix.c
index f3a89fdf508..432637a3dfe 100644
--- a/source3/locking/posix.c
+++ b/source3/locking/posix.c
@@ -198,12 +198,22 @@ static bool posix_fcntl_lock(files_struct *fsp, int op, off_t offset, off_t coun
if (!ret && ((errno == EFBIG) || (errno == ENOLCK) || (errno == EINVAL))) {
- DEBUG(0, ("posix_fcntl_lock: WARNING: lock request at offset "
+ if ((errno == EINVAL) &&
+ (op != F_GETLK &&
+ op != F_SETLK &&
+ op != F_SETLKW)) {
+ DEBUG(0,("WARNING: OFD locks in use and no kernel "
+ "support. Try setting "
+ "'smbd:force process locks = true' "
+ "in smb.conf\n"));
+ } else {
+ DEBUG(0, ("WARNING: lock request at offset "
"%ju, length %ju returned\n",
(uintmax_t)offset, (uintmax_t)count));
- DEBUGADD(0, ("an %s error. This can happen when using 64 bit "
+ DEBUGADD(0, ("an %s error. This can happen when using 64 bit "
"lock offsets\n", strerror(errno)));
- DEBUGADD(0, ("on 32 bit NFS mounted file systems.\n"));
+ DEBUGADD(0, ("on 32 bit NFS mounted file systems.\n"));
+ }
/*
* If the offset is > 0x7FFFFFFF then this will cause problems on