On Wed, Apr 06, 2005 at 07:48:08AM -0400, Nathan Vidican wrote: > Now (after applying patch from Jeremy), most of the problems with Excel and > user's files being locked have quit. However, we're still getting some files > locked out when a given smbd process hangs, it appears as though the process > itself is tied up in some sort of loop or something and becomes > un-responsive; the client tries to auto-reconnect and does so spawning a new > 'duplicate' session to the first. Problem herein is two fold; first, the > smbd process they origionally conencted with is still running, and still > maintains the file locks for the file they are accessing, secondly, the smbd > process maintains 100% cpu time (as the O/S allows anyhow, not lagging the > servers thankfully). > > So, we keep running into an issue (usually with Microsoft Excel or Word > documents), wherein the smbd process for a particular user jumps to 100% cpu > utilization and is apparently hung out to dry; the user already has another > duplicate session running, and a simple forceful kill (kill -9 <pid>), > removes the running program and the locked file issue(s) along with it. Any > ideas as to what exactly is causing this, it's giving users the same error > we've been encountering/patching for wherein they are prompted that the file > simply cannot be saved; in some cases Excel will not even allow the user to > save locally (to hardisk) and the (client) system requires a full reboot. > > This happens with different users, on different shares, each attached from > varying physical network segments, (100mbit switched network entirely, > tree'd off from the main switch at gigabit ethernet speeds including the > actual connection to the servers). Most branches are connected via fiber > uplinks directly to transceivers connected to the main switch.
Try this patch. There was a problem with a 'while' being used instead of a 'for' in smbd/dir.c. Already fixed in SVN. Jeremy.
--- smbd/dir.c 2005-03-23 12:30:27.000000000 -0800 +++ /home/jeremy/src/samba3.0/source/smbd/dir.c 2005-04-06 18:57:46.157484483 -0700 @@ -602,7 +603,7 @@ return False; } - while (SearchDir(dptr->dir_hnd, name, poffset) == True) { + if (SearchDir(dptr->dir_hnd, name, poffset)) { if (is_visible_file(dptr->conn, dptr->path, name, pst, True)) { return True; }
-- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba