----- "Gordan Bobic" <gordan@xxxxxxxxxx> wrote: Gordan, I'd like to clarify the situation with the "mount --bind" issue you're facing. When GlusterFS is started, it does two things in the following order: 1) daemonize itself (by calling daemon(3)). 2) Initialize the translator graph (and thus FUSE and mount). This introduces a race since a shell command that runs glusterfs will return as soon as glusterfs becomes a daemon. The next shell command (in a script) will try something like "mount --bind", but glusterfs might not have finished initializing fuse and mounting by then. This is why putting in a "sleep 2" in your script works, because it gives glusterfs time to initialize and mount. Unfortunately, the obvious solution of interchanging the order of these two things does not work. The translator graph might contain an ib-verbs transport module. The ib-verbs library expects that the process which does ib-verbs init is also the process that does any further send/recv. Calling daemon(), however, will spawn child processes and kill the parent, thus "changing" the PID of GlusterFS. The solution is to write a custom daemon() function which will wait for the child to successfully initialize everything before exiting. We are working on this and you can track its progress at: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 Vikas -- Engineer - http://gluster.com/ A: Because it messes up the way people read text. Q: Why is a top-posting such a bad thing? --