diff options
author | Jeremy Allison <jra@samba.org> | 2001-09-05 00:05:07 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-09-05 00:05:07 +0000 |
commit | d3518f1d8a63cab323a9c5c94d5eb552302b4df6 (patch) | |
tree | d13d5f14506c4201c4f8b1887e569764c5abb49e | |
parent | 1f5203cd24b869bd4270c8d020909a448f5d378f (diff) | |
download | samba-d3518f1d8a63cab323a9c5c94d5eb552302b4df6.tar.gz samba-d3518f1d8a63cab323a9c5c94d5eb552302b4df6.tar.bz2 samba-d3518f1d8a63cab323a9c5c94d5eb552302b4df6.zip |
NFS v2 can return ENOLCK when greater than 31 bit offsets are used.
Treat this the same as an EFBIG error.
Jeremy
(This used to be commit 8fad5177701c1738a7f5bdd7c0082ef23a00b876)
-rw-r--r-- | source3/locking/posix.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/locking/posix.c b/source3/locking/posix.c index 6a621200ca..b2ffbeda8f 100644 --- a/source3/locking/posix.c +++ b/source3/locking/posix.c @@ -705,10 +705,10 @@ static BOOL posix_fcntl_lock(files_struct *fsp, int op, SMB_OFF_T offset, SMB_OF ret = conn->vfs_ops.lock(fsp,fsp->fd,op,offset,count,type); - if (!ret && (errno == EFBIG)) { + if (!ret && ((errno == EFBIG) || (errno == ENOLCK))) { if( DEBUGLVL( 0 )) { dbgtext("posix_fcntl_lock: WARNING: lock request at offset %.0f, length %.0f returned\n", (double)offset,(double)count); - dbgtext("a 'file too large' error. This can happen when using 64 bit lock offsets\n"); + dbgtext("an %s error. This can happen when using 64 bit lock offsets\n", strerror(errno)); dbgtext("on 32 bit NFS mounted file systems. Retrying with 32 bit truncated length.\n"); } /* 32 bit NFS file system, retry with smaller offset */ |