Fwd: Re: [Samba] fcntl lock failed at large offset: pretty urgent
--- Weitergeleitete Nachricht / Forwarded Message --- Date: Wed, 3 Dec 2003 15:48:13 +0100 (MET) From: Thomas Bork [EMAIL PROTECTED] To: Jeremy Allison [EMAIL PROTECTED] Subject: Re: [Samba] fcntl lock failed at large offset: pretty urgent Hi Jeremy, More info of setup: The version of Samba I have is a precompiled Debian package, and downloaded from the site referred to by www.samba.org http://samba.mirror.aarnet.edu.au/samba/ftp/Binary_Packages/Debian/samba3/dists/stable/main/binary-i386 I'm not sure what the build options were for this, but I will try and find out. Running smbd -d10 will cause smbd to write build info into log.smb When you say Samba can be configured to use 64 bit filesystems, is this a compile time option? Is there a way of checking if the version I have has this enabled? Perhaps I should build from source. It's checked for at compile time. You need to be looking for something like HAVE_STRUCT_FLOCK64 which is what we use for 64 bit locking. The setup is: Linux samba 3.0.0 server, serving files from local disk Win95,98,xp-pro clients mounting smb shares as a workgroup Windows software that wants to set a lock at 2^32-16 What filesystem on the local disk ? Do you have a debug level 10 of the problem ? Have you tried any of the 3.0.1pre releases (although I don't remember changes in this area). I saw this Problem also with Samba 2.2.7(?) compiled on a SuSE system running on the system of www.eisfair.org. I had to compile samba direct on the eisfair system to eleminate this error. Is there any chance to negotiate nessesary parameters at running time and not at compile time? -- der tom -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
Re: [Samba] fcntl lock failed at large offset: pretty urgent
The problem appears to be the kernel version. I have not verified this on the production machine, just at home with a subset of the windows client system, but it's reproducible. Preliminary results: Linux Level 1 Range lock kerneloplock just under 2^32 --- 2.2.25on success 2.2.25off failure 2.4.22on success 2.4.22off success The binary I downloaded was probably compiled on a linux kernel 2.4.x, and I've been running it on a 2.2.25 kernel. I will test this at work tomorrow and confirm, but this looks like it. Jim -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
[Samba] fcntl lock failed at large offset: pretty urgent
Debian Woody with security updates Linux kernel 2.2.25 Samba 3.0.0 libc6 2.2.5 The problem I have is with a windows application that uses samba. This application is crucial for the organization, so if this is not fixed, and soon, we will have to ditch Samba and move to a windows server. I *really* don't want to do this, as Samba has been working so well for years now and billg is rich enough already. I am having problems with a windows client program that does a range lock on a file on a share. The log.smbd reports with debug level 3: [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1632) fcntl_lock: fcntl lock gave errno 75 (Value too large for defined data type) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1651) fcntl_lock: lock failed at offset 4294967284 count 1 op 13 type 1 (Value too large for defined data type) [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(94) error string = Value too large for defined data type What I think is happening is the client is passing a number greater than 2^31 as the lock range, which will fail according to http://samba.org/samba/docs/man/locking.html#id2918968 which states that samba locks from 0-2^31, whereas windows issues lock requests up to 2^32 or 2^64. Setting locking = no fixes the problem, but will cause others as these files are used by many people at once. Do I have any options, or is this it for Samba on my site? I would really appreciate some help here. Thanks in anticipation, Jim Extended logfile output -- [2003/12/02 17:20:23, 3] smbd/sec_ctx.c:set_sec_ctx(288) setting sec ctx (1000, 1005) - sec_ctx_stack_ndx = 0 [2003/12/02 17:20:23, 3] lib/util.c:unix_clean_name(580) unix_clean_name [/caseflow/data/access.TXT] [2003/12/02 17:20:23, 3] smbd/dosmode.c:unix_mode(110) unix_mode(caseflow/data/access.txt) returning 0760 [2003/12/02 17:20:23, 3] lib/util.c:unix_clean_name(580) unix_clean_name [caseflow/data/access.txt] [2003/12/02 17:20:23, 2] smbd/open.c:open_file(250) jim opened file caseflow/data/access.txt read=Yes write=Yes (numopen=1) [2003/12/02 17:20:23, 3] smbd/process.c:process_smb(890) Transaction 4718 of length 76 [2003/12/02 17:20:23, 3] smbd/process.c:switch_message(685) switch message SMBtrans2 (pid 21538) [2003/12/02 17:20:23, 3] smbd/trans2.c:call_trans2qfilepathinfo(1841) call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1006 [2003/12/02 17:20:23, 3] smbd/trans2.c:call_trans2qfilepathinfo(1929) call_trans2qfilepathinfo caseflow/data/access.txt (fnum = 7144) level=1006 call=7 total_data=0 [2003/12/02 17:20:23, 3] smbd/process.c:process_smb(890) Transaction 4719 of length 75 [2003/12/02 17:20:23, 3] smbd/process.c:switch_message(685) switch message SMBlockingX (pid 21538) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1632) fcntl_lock: fcntl lock gave errno 75 (Value too large for defined data type) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1651) fcntl_lock: lock failed at offset 4294967284 count 1 op 13 type 1 (Value too large for defined data type) [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(94) error string = Value too large for defined data type [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(113) error packet at smbd/reply.c(4208) cmd=36 (SMBlockingX) NT_STATUS_ACCESS_DENIED [2003/12/02 17:20:23, 3] smbd/process.c:process_smb(890) Transaction 4720 of length 75 [2003/12/02 17:20:23, 3] smbd/process.c:switch_message(685) switch message SMBlockingX (pid 21538) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1632) fcntl_lock: fcntl lock gave errno 75 (Value too large for defined data type) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1651) fcntl_lock: lock failed at offset 4294967280 count 1 op 13 type 1 (Value too large for defined data type) [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(94) error string = Value too large for defined data type [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(113) error packet at smbd/reply.c(4208) cmd=36 (SMBlockingX) NT_STATUS_ACCESS_DENIED [2003/12/02 17:20:23, 3] smbd/process.c:process_smb(890) Transaction 4721 of length 45 [2003/12/02 17:20:23, 3] smbd/process.c:switch_message(685) switch message SMBclose (pid 21538) -- -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
Re: [Samba] fcntl lock failed at large offset: pretty urgent
On Tue, Dec 02, 2003 at 07:47:50PM +1100, Jim Thomas wrote: Debian Woody with security updates Linux kernel 2.2.25 Samba 3.0.0 libc6 2.2.5 The problem I have is with a windows application that uses samba. This application is crucial for the organization, so if this is not fixed, and soon, we will have to ditch Samba and move to a windows server. I *really* don't want to do this, as Samba has been working so well for years now and billg is rich enough already. I am having problems with a windows client program that does a range lock on a file on a share. The log.smbd reports with debug level 3: [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1632) fcntl_lock: fcntl lock gave errno 75 (Value too large for defined data type) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1651) fcntl_lock: lock failed at offset 4294967284 count 1 op 13 type 1 (Value too large for defined data type) [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(94) error string = Value too large for defined data type What I think is happening is the client is passing a number greater than 2^31 as the lock range, which will fail according to http://samba.org/samba/docs/man/locking.html#id2918968 which states that samba locks from 0-2^31, whereas windows issues lock requests up to 2^32 or 2^64. Setting locking = no fixes the problem, but will cause others as these files are used by many people at once. If Samba is configured to use 64 bit filesystems it assumes it can lock from 0 to 2^63-1 - the code in locking/posix.c in posix_fcntl_lock() takes care of this. If it is configured to use 32 bit filesystems it assumes it can lock from 0 to 2^31-1. Samba will truncate the posix lock above these limits as no posix application will ever see such a lock. You might get this problem if you're running a 64-bit Samba gatewaying onto a 32-bit mounted NFS mount, or other mounted partition. Can you give more details about the setup please ? This code has been stable and working for quite a long time now. Jeremy. -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
Re: [Samba] fcntl lock failed at large offset: pretty urgent
On Wed, Dec 03, 2003 at 12:53:44AM +, Jeremy Allison wrote: On Tue, Dec 02, 2003 at 07:47:50PM +1100, Jim Thomas wrote: Debian Woody with security updates Linux kernel 2.2.25 Samba 3.0.0 libc6 2.2.5 [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1632) fcntl_lock: fcntl lock gave errno 75 (Value too large for defined data type) [2003/12/02 17:20:23, 3] lib/util.c:fcntl_lock(1651) fcntl_lock: lock failed at offset 4294967284 count 1 op 13 type 1 (Value too large for defined data type) [2003/12/02 17:20:23, 3] smbd/error.c:error_packet(94) error string = Value too large for defined data type What I think is happening is the client is passing a number greater than 2^31 as the lock range, which will fail according to http://samba.org/samba/docs/man/locking.html#id2918968 which states that samba locks from 0-2^31, whereas windows issues lock requests up to 2^32 or 2^64. Setting locking = no fixes the problem, but will cause others as these files are used by many people at once. If Samba is configured to use 64 bit filesystems it assumes it can lock from 0 to 2^63-1 - the code in locking/posix.c in posix_fcntl_lock() takes care of this. If it is configured to use 32 bit filesystems it assumes it can lock from 0 to 2^31-1. Samba will truncate the posix lock above these limits as no posix application will ever see such a lock. You might get this problem if you're running a 64-bit Samba gatewaying onto a 32-bit mounted NFS mount, or other mounted partition. Can you give more details about the setup please ? This code has been stable and working for quite a long time now. Thanks for your reply, Jeremy, this looks solvable, it sounds like configuration at my end. More info of setup: The version of Samba I have is a precompiled Debian package, and downloaded from the site referred to by www.samba.org http://samba.mirror.aarnet.edu.au/samba/ftp/Binary_Packages/Debian/samba3/dists/stable/main/binary-i386 I'm not sure what the build options were for this, but I will try and find out. When you say Samba can be configured to use 64 bit filesystems, is this a compile time option? Is there a way of checking if the version I have has this enabled? Perhaps I should build from source. The setup is: Linux samba 3.0.0 server, serving files from local disk Win95,98,xp-pro clients mounting smb shares as a workgroup Windows software that wants to set a lock at 2^32-16 do you need more information, eg smb.conf? Cheers, Jim -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
Re: [Samba] fcntl lock failed at large offset: pretty urgent
On Wed, Dec 03, 2003 at 01:29:55PM +1100, Jim Thomas wrote: More info of setup: The version of Samba I have is a precompiled Debian package, and downloaded from the site referred to by www.samba.org http://samba.mirror.aarnet.edu.au/samba/ftp/Binary_Packages/Debian/samba3/dists/stable/main/binary-i386 I'm not sure what the build options were for this, but I will try and find out. Running smbd -d10 will cause smbd to write build info into log.smb When you say Samba can be configured to use 64 bit filesystems, is this a compile time option? Is there a way of checking if the version I have has this enabled? Perhaps I should build from source. It's checked for at compile time. You need to be looking for something like HAVE_STRUCT_FLOCK64 which is what we use for 64 bit locking. The setup is: Linux samba 3.0.0 server, serving files from local disk Win95,98,xp-pro clients mounting smb shares as a workgroup Windows software that wants to set a lock at 2^32-16 What filesystem on the local disk ? Do you have a debug level 10 of the problem ? Have you tried any of the 3.0.1pre releases (although I don't remember changes in this area). Jeremy. -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba