[Samba] AutoCad 2004, Samba 3.0.11 & file locking issues

Bill Arlofski 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

smbstatus shows:

louis       25002   louis_laptop      Mon Mar  7 08:25:49 2005

/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?

Thanks again!

Bill Arlofski
waa-samba at revpol.com

More information about the samba mailing list