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

Reply via email to