[Samba] File locking issue

Yan Seiner yan at seiner.com
Mon Aug 20 13:52:24 GMT 2007


Hi everyone:

I posted this a couple of weeks ago and got no response.  My client is 
still stuck with this issue and I am quickly running out of ideas to try.

Does anyone have any ideas/suggestions?  This is a long-term customer 
and so far their server has provided outstanding service - until now.

I have a client with an older server that is running into a weird file
locking problem.

The server is running FC2, samba 3.0.7 and kernel 2.6.10.

They have recently installed AutoDesk Revit, which is apparently some
sort of collaborative design software.  Revit keeps a central repository
and then allows different clients to access it.

What is happening is that only the person who created the file has
read/write access to it - even after s/he closes the file.

Here's a log from the workstation that creates the file.  From what I
understand, the user 'johan' created the file and then tested read/write
ability.

[2007/08/06 16:09:42, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(REVIT/test-08-06-07/Martini-central.rvt) returning 0777
[2007/08/06 16:09:42, 3] smbd/open.c:open_file(178)
  Error opening file REVIT/test-08-06-07/Martini-central.rvt (No such
file or directory) (local_flags=0) (flags=0)
[2007/08/06 16:09:42, 3] smbd/error.c:error_packet(105)
  error string = No such file or directory
[2007/08/06 16:09:42, 3] smbd/error.c:error_packet(145)
  error packet at smbd/trans2.c(2229) cmd=45 (SMBopenX) eclass=1 ecode=2
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8503 of length 110
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBopenX (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(REVIT/test-08-06-07/Martini-central.rvt) returning 0777
[2007/08/06 16:09:42, 2] smbd/open.c:open_file(245)
  johan opened file REVIT/test-08-06-07/Martini-central.rvt read=No
write=Yes (numopen=3)
[2007/08/06 16:09:42, 3] smbd/sec_ctx.c:set_sec_ctx(288)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8504 of length 41
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBgetattrE (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/sec_ctx.c:set_sec_ctx(288)
  setting sec ctx (501, 500) - sec_ctx_stack_ndx = 0
[2007/08/06 16:09:42, 3] smbd/reply.c:reply_getattrE(5066)
  reply_getattrE fnum=9807
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8505 of length 41
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBgetattrE (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/reply.c:reply_getattrE(5066)
  reply_getattrE fnum=9807
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8506 of length 45
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBclose (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/reply.c:reply_close(2778)
  close fd=27 fnum=9807 (numopen=3)
[2007/08/06 16:09:42, 2] smbd/close.c:close_normal_file(262)
  johan closed file REVIT/test-08-06-07/Martini-central.rvt (numopen=2)
[2007/08/06 16:09:42, 2] smbd/close.c:close_normal_file(262)
  johan closed file REVIT/test-08-06-07/Martini-central.rvt (numopen=2)
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8507 of length 110
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBopenX (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(REVIT/test-08-06-07/Martini-central.rvt) returning 0777
[2007/08/06 16:09:42, 2] smbd/open.c:open_file(245)
  johan opened file REVIT/test-08-06-07/Martini-central.rvt read=Yes
write=No (numopen=3)
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8508 of length 41
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBgetattrE (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/reply.c:reply_getattrE(5066)
  reply_getattrE fnum=9808
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8509 of length 45
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBclose (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/reply.c:reply_close(2778)
  close fd=27 fnum=9808 (numopen=3)
[2007/08/06 16:09:42, 2] smbd/close.c:close_normal_file(262)
  johan closed file REVIT/test-08-06-07/Martini-central.rvt (numopen=2)
[2007/08/06 16:09:42, 3] smbd/process.c:process_smb(1092)
  Transaction 8510 of length 83
[2007/08/06 16:09:42, 3] smbd/process.c:switch_message(887)
  switch message SMBunlink (pid 5543) conn 0x949fd30
[2007/08/06 16:09:42, 3] smbd/reply.c:reply_unlink(1697)
  reply_unlink : REVIT/test-08-06-07/Martini-central.rvt
[2007/08/06 16:09:42, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(REVIT/test-08-06-07/Martini-central.rvt) returning 0777
[2007/08/06 16:09:42, 2] smbd/open.c:open_file(245)
  johan opened file REVIT/test-08-06-07/Martini-central.rvt read=Yes
write=No (numopen=3)
[2007/08/06 16:09:42, 2] smbd/close.c:close_normal_file(262)
  johan closed file REVIT/test-08-06-07/Martini-central.rvt (numopen=2)

And here's user 'kevin' attempting to get r/w access after johan closed
everything.

[2007/08/06 16:43:22, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(REVIT/test-08-06-07/Martini-central.rvt) returning 0777
[2007/08/06 16:43:22, 2] smbd/open.c:open_file(245)
  kevin opened file REVIT/test-08-06-07/Martini-central.rvt read=Yes
write=No (numopen=1)
[2007/08/06 16:43:22, 3] smbd/process.c:process_smb(1092)
  Transaction 1150 of length 59
[2007/08/06 16:43:22, 3] smbd/process.c:switch_message(887)
  switch message SMBreadX (pid 5566) conn 0x949fd00
[2007/08/06 16:43:22, 3] smbd/reply.c:send_file_readX(2160)
  send_file_readX fnum=9565 max=4096 nread=4096
[2007/08/06 16:43:22, 3] smbd/process.c:process_smb(1092)
  Transaction 1151 of length 41
[2007/08/06 16:43:22, 3] smbd/process.c:switch_message(887)
  switch message SMBgetattrE (pid 5566) conn 0x949fd00
[2007/08/06 16:43:22, 3] smbd/reply.c:reply_getattrE(5066)
  reply_getattrE fnum=9565
[2007/08/06 16:43:22, 3] smbd/process.c:process_smb(1092)
  Transaction 1152 of length 45
[2007/08/06 16:43:22, 3] smbd/process.c:switch_message(887)
  switch message SMBclose (pid 5566) conn 0x949fd00
[2007/08/06 16:43:22, 3] smbd/reply.c:reply_close(2778)
  close fd=25 fnum=9565 (numopen=1)
[2007/08/06 16:43:22, 2] smbd/close.c:close_normal_file(262)
  kevin closed file REVIT/test-08-06-07/Martini-central.rvt (numopen=0)
[2007/08/06 16:43:22, 3] smbd/process.c:process_smb(1092)
  Transaction 1153 of length 110
[2007/08/06 16:43:22, 3] smbd/process.c:switch_message(887)
  switch message SMBopenX (pid 5566) conn 0x949fd00
[2007/08/06 16:43:22, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(REVIT/test-08-06-07/Martini-central.rvt) returning 0777
[2007/08/06 16:43:22, 2] smbd/open.c:open_file(245)
  kevin opened file REVIT/test-08-06-07/Martini-central.rvt read=Yes
write=No (numopen=1)
[2007/08/06 16:43:22, 3] smbd/process.c:process_smb(1092)
  Transaction 1154 of length 59

If they put the *central.rvt file on a WinXP workstation, everything
works fine - so this has to be some sort of filelocking issue.

Per the recent 'Problems with oplocks' thread, I tried 'kernel oplocks =
no' but it has not made any difference.

Here's my smb.conf; the data share is the one experiencing the problem.

[global]

   netbios name = KAHN
   workgroup = xxx.lan
   server string = new server
   hosts allow = 192.168.141. 127.
   printcap name = /etc/printcap
   load printers = yes
   log file = /var/log/samba/%m.log
   log level = 3 passdb:5 auth:10 winbind:2
   max log size = 0
   security = user
  encrypt passwords = yes
  smb passwd file = /etc/samba/smbpasswd
  unix password sync = Yes
  passwd program = /usr/bin/passwd %u
  passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n
*passwd:*all*authentication*tokens*updated*successfully*
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   local master = yes
   os level = 33
   domain master = yes
   preferred master = yes
   domain logons = yes
name resolve order = wins lmhosts bcast
   wins support = yes
   dns proxy = no
  default case = lower
force create mode = 0777
force directory mode = 0777
use sendfile = no
max protocol = LANMAN2
kernel oplocks = no

[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   guest ok = no
   printable = yes

[data]
   comment = TND Project files
   path = /home/samba
   public = yes
   writable = yes
   printable = no
   create mask = 0771
   directory mask = 0771
   oplocks = yes


-- 
  o__
  ,>/'_          o__
  (_)\(_)        ,>/'_          o__
Yan Seiner      (_)\(_)         ,>/'_   o__     o__
Certified Personal Trainer     (_)\(_)  ,>/'_   ,>/'_
Licensed Professional Engineer         (_)\(_) (_)\(_)

Linux stuff has made big progress over the competition. When things sit 
and don't start right away, we have a watch, and those poor guys have to 
settle for an hourglass.

-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

!DSPAM:46b78ff1232577818312239!


More information about the samba mailing list