https://bugzilla.novell.com/show_bug.cgi?id=787410 https://bugzilla.novell.com/show_bug.cgi?id=787410#c0 Summary: Concurrency problem when triggering many AutoFS mounts simultaneously Classification: openSUSE Product: openSUSE Factory Version: 12.3 Milestone 0 Platform: All OS/Version: openSUSE 12.2 Status: ASSIGNED Severity: Normal Priority: P5 - None Component: Basesystem AssignedTo: lchiquitto@suse.com ReportedBy: lchiquitto@suse.com QAContact: qa-bugs@suse.de Found By: Community User Blocker: --- The fact that AutoFS now probes the proximity of single servers exposed an interesting problem. One way to reproduced it is to setup a map with 10 or more direct mounts. These volumes must be hosted at the same NFS server. So lets say we have /autofs-race/dir{1,2,3,4...} and each volume has a file named 'file'. By triggering the mount of the 10 volumes simultaneously, you'll notice that some of them will fail to mount:
n43:~ # for i in $(seq 1 10); do stat /autofs-race/dir$i/file > /dev/null & done (.. shell prints 10 pids that are running in background ..) n43:~ # stat: cannot stat ‘/autofs-race/dir4/file’: No such file or directory stat: cannot stat ‘/autofs-race/dir10/file’: No such file or directory
[1] Done stat /autofs-race/dir$i/file > /dev/null [2] Done stat /autofs-race/dir$i/file > /dev/null [3] Done stat /autofs-race/dir$i/file > /dev/null [4] Exit 1 stat /autofs-race/dir$i/file > /dev/null [5] Done stat /autofs-race/dir$i/file > /dev/null of [6] Done stat /autofs-race/dir$i/file > /dev/null [7] Done stat /autofs-race/dir$i/file > /dev/null [8] Done stat /autofs-race/dir$i/file > /dev/null [9]- Done stat /autofs-race/dir$i/file > /dev/null [10]+ Exit 1 stat /autofs-race/dir$i/file > /dev/null
Here it failed to mount /autofs-race/dir4 and /autofs-race/dir10. The root cause of this problem is that AutoFS uses getprotobyname() (a non-reentrant function) in multiple threads without synchronization. There's a patch available already. This bug is just to document the problem and release updates to older releases of openSUSE when the time comes. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.