On Mon, Oct 10, 2005 at 04:21:15PM +0100, Dragan Krnic wrote: > I have an intermittent problem with dangling MS Access DB lock files. > > In a productive environment with N batch queus (each on a separate > Windows XP Professional) a scheduler PC dispatches the work load to > a free queue by means of modifying a simple MS Access DB file > called "PRIM.mdb", which resides on a Samba 3.0.20 share. Each free > queue PC polls the same MS Access DB file every 60 seconds to see > if there is a work packet to be executed by it. If there is a work > package for it it modifies a state value of the respective work packet > in this DB when it starts executing it as well as after the job has > been done so that the scheduler knows what's going on.
There's a bug in 3.0.20 that might affect this (btw it's also in 3.0.20a). I know about it because it's my fault :-(. Here's the patch for 3.0.20, and 3.0.20a. Jeremy.
--- smbd/open.c 2005-07-28 06:19:42.000000000 -0700 +++ smbd/open.c.new 2005-10-10 09:32:25.000000000 -0700 @@ -1585,13 +1585,6 @@ fsp_open = open_file(fsp,conn,fname,psbuf,flags|flags2,unx_mode,access_mask); - if (!fsp_open && (flags == O_RDWR) && (errno != ENOENT)) { - if((fsp_open = open_file(fsp,conn,fname,psbuf, - O_RDONLY,unx_mode,access_mask)) == True) { - flags = O_RDONLY; - } - } - if (!fsp_open) { if(file_existed) { unlock_share_entry(conn, dev, inode);
--- smbd/open.c 2005-09-29 14:52:40.000000000 -0700 +++ smbd/open.c.new 2005-10-06 21:45:37.000000000 -0700 @@ -1585,22 +1585,6 @@ fsp_open = open_file(fsp,conn,fname,psbuf,flags|flags2,unx_mode,access_mask); - if (!fsp_open && (flags2 & O_EXCL) && (errno == EEXIST)) { - /* - * Two smbd's tried to open exclusively, but only one of them - * succeeded. - */ - file_free(fsp); - return NULL; - } - - if (!fsp_open && (flags == O_RDWR) && (errno != ENOENT)) { - if((fsp_open = open_file(fsp,conn,fname,psbuf, - O_RDONLY,unx_mode,access_mask)) == True) { - flags = O_RDONLY; - } - } - if (!fsp_open) { if(file_existed) { unlock_share_entry(conn, dev, inode);
-- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba