mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
r14703: Clarify the return codes for the POSIX locking case. This
was confusing. Jeremy. (This used to be commit bc1a605a39e58a7dbdcd4d132345e957e3ed9d5e)
This commit is contained in:
parent
efd32bf371
commit
7f57dc61cb
@ -1873,7 +1873,7 @@ BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
|
||||
if (ret == -1 && errno != 0)
|
||||
DEBUG(3,("fcntl_lock: fcntl lock gave errno %d (%s)\n",errno,strerror(errno)));
|
||||
|
||||
/* a lock query */
|
||||
/* a lock query - return True if this region is locked, False if not locked. */
|
||||
if (op == SMB_F_GETLK) {
|
||||
if ((ret != -1) &&
|
||||
(lock.l_type != F_UNLCK) &&
|
||||
|
@ -644,15 +644,19 @@ static BOOL posix_lock_in_range(SMB_OFF_T *offset_out, SMB_OFF_T *count_out,
|
||||
|
||||
/****************************************************************************
|
||||
Actual function that does POSIX locks. Copes with 64 -> 32 bit cruft and
|
||||
broken NFS implementations.
|
||||
broken NFS implementations. Returns True if we got the lock or the region
|
||||
is unlocked in the F_GETLK case, False otherwise.
|
||||
****************************************************************************/
|
||||
|
||||
static BOOL posix_fcntl_lock(files_struct *fsp, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
|
||||
{
|
||||
int ret;
|
||||
BOOL ret;
|
||||
|
||||
DEBUG(8,("posix_fcntl_lock %d %d %.0f %.0f %d\n",fsp->fh->fd,op,(double)offset,(double)count,type));
|
||||
|
||||
/* In the F_GETLK case this returns True if the region
|
||||
was locked, False if unlocked. */
|
||||
|
||||
ret = SMB_VFS_LOCK(fsp,fsp->fh->fd,op,offset,count,type);
|
||||
|
||||
if (!ret && ((errno == EFBIG) || (errno == ENOLCK) || (errno == EINVAL))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user