Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!snorkelwacker!spdcc!merk!alliant!werme From: werme@Alliant.COM (Ric Werme) Newsgroups: comp.sys.alliant Subject: Re: problems porting amd to Concentrix 5.5.02 Message-ID: <4046@alliant.Alliant.COM> Date: 7 Aug 90 15:59:40 GMT References: <1926@charon.cwi.nl> Reply-To: werme@alliant.Alliant.COM (Ric Werme) Organization: Alliant Computer Systems, Littleton, MA Lines: 27 In article <1926@charon.cwi.nl> sjoerd@cwi.nl (Sjoerd Mullender) writes: >By using adb I found that both amd and /etc/mount do a mount system call >with the exact same arguments. The difference is that /etc/mount succeeds >in mounting the remote directory and amd fails. Mount returns with an >errno of EDEADLK "Deadlock situation detected/avoided". This error is >not documented in the manual. >Can anyone tell me why the kernel returns this errno? Needless to say, >we don't have the source for the kernel. I thought I'd poke around a bit in a spare moment. EDEADLK is new to 4.3 BSD and involves interlocking file system accesses. There's a global lock that the mount and umount code takes. Off hand the only way I see for this to occur is if another mount is going on in parallel. I think NFS mounts hold this until the remote system replies, which can be quite a while. Does amd fork multiple copies of itself to try to run faster? If so, see if you easily defeat that. I'm not sure if other 4.3 BSD sites would have the same problem, because we had to change just about everything related to locking. -- | A pride of lions | Eric J Werme | | A gaggle of geese | uucp: decvax!linus!alliant | | An odd lot of programmers | Phone: 603-673-3993 |