| Summary: | mount time defunct window with remote volumes | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Csaba Henk <csaba> |
| Component: | fuse | Assignee: | Amar Tumballi <amarts> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | low | ||
| Version: | mainline | CC: | gluster-bugs, vraman |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Csaba Henk
2010-09-04 06:30:34 UTC
Do the following:
prior to mounting glusterfs on /mnt/gluster, start this:
$ while :; do touch /mnt/gluster/x || break; done
then mount a remote glusterfs volume, eg.
# glusterfs -f /dev/stdin /mnt/gluster0 <<EOF
volume client
type protocol/client
option transport-type tcp
option remote-host localhost
option remote-subvolume brick-0
end-volume
EOF
The mount will be succesfull and soon you can use the fs. However, in the shell where you had the loop, you'll see it has terminated with
touch: cannot touch `/mnt/gluster/x': Transport endpoint is not connected
That is, there was an interim period when the mount was already in place but not yet usable. (Note, remote subvolume is needed for this, a simple posix mount does not have the defunct window).
Access to the fs should be synchronized with connection to the server. If we fail to do this, a lot of stuff, automount, SELinux hooks, various event notification systems might break havoc (yet again).
patch http://patches.gluster.com/patch/4566/ fixes this issue. It was happening because the fuse_thread_proc() was started before handshake is complete. PATCH: http://patches.gluster.com/patch/4566 in master (changes in fuse proc thread initialization) PATCH: http://patches.gluster.com/patch/4641 in master (in case of failures, don't hang fuse mount) PATCH: http://patches.gluster.com/patch/4650 in master (fuse: suppress wrong/confusing log message about graph setup failure) |