[Samba] AutoCad 2004, Samba 3.0.11 & file locking issues
waa-samba at revpol.com
Tue Mar 8 23:53:06 GMT 2005
Sorry for such a long post as my first to the list, but in an effort to
forego a long back and forth question/answer session via email, I think
if I post all the information that I currently have someone may be able
to more quickly spot my issue.
The server in question is a Gentoo server running Samba 3.0.11.
The basic problem is that when person A opens an AutoCad file, person B
is unable to open the file and is told (by an Autocad dialog box):
"Cannot find the scpcified drawing file. Please verify that the network
drive is available and the file exists"
Now, this Samba server replaced an NT 4 server and the client says that
in the past, when ever person b tried to open an already opened Autocad
file, they would be allowed to open it in Read-only mode, which is
exactly what they expect and want to happen.
So, on to the troubleshooting:
I had my client open an AutoCad file called A1_1 and here is what
tdbdump showed for that file. (info on the .dwl file is further below)
# tdbdump /var/cache/samba/locking.tdb | grep A1_1
data = "\01\00\00\004[3 at set_kernel_oplock: got kernel
data = "\01\00\00\00\DCY3 at set_kernel_oplock: got kernel
louis 25002 louis_laptop Mon Mar 7 08:25:49 2005
25002 DENY_WRITE 0x20196 WRONLY EXCLUSIVE+BATCH
/home/shared/projects/A1_1.dwl MonMar 7 10:55:55 2005
25002 DENY_WRITE 0x2019f RDWR NONE
/home/shared/projects/A1_1.dwg MonMar 7 10:55:53 2005
lsof -p 25002 | grep A1_1 shows:
smbd 25002 louis 27uR REG 8,3 110753 701363
smbd 25002 louis 61wR REG 8,3 52 1037957
The .dwl file is a 'log file' that AutoCad uses to inform others that
the file is opened and who it is opened by. Here are it's contents:
Monday, March 07, 2005 11:02:28 AM
If this user, Louis, tries to open this file again, Autocad tells him
that "louis has this file open, would you like to open it as a read only
file?" This is the correct functionality.
This is how it's supposed to work when other network users attempt to
open an AutoCad file that someone already had opened. And this is how it
used to work on their NT Server.
Instead, on the Samba server, when someone else on the network using
AutoCad attempts to open that file, they get an error dialog of the
nature "Cannot find the specified drawing file. Please verify that the
network drive is available and the file exists"
In another test, using Explorer, Louis was able to copy to his desktop
an AutoCad drawing that was already in use by another user.
I was initially thinking that we could over-ride samba's locking
mechanisms for that share or something, but when he was able to copy an
in-use file it started to look like an Autocad-specific issue rather
than a Linux/Samba file locking issue.
Any ideas that anyone can offer to help solve this would be appreciated.
If this is strictly an AutoCad issue, I'd like to know for sure before
we go to AutoCad with an issue. And again, if it is an AutoCad issue,
why did everything work as expected on the NT server? Was NT ignoring
AutoCad's file locking requests?
waa-samba at revpol.com
More information about the samba