Bug 1095943
| Summary: | unrelated Filesystem resources can block during stop when unresponsive nfs mounts are present | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | David Vossel <dvossel> | ||||
| Component: | resource-agents | Assignee: | David Vossel <dvossel> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 6.6 | CC: | agk, cluster-maint, djansa, fdinitto, mnovacek, sbradley | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | resource-agents-3.9.5-7.el6 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1095944 (view as bug list) | Environment: | |||||
| Last Closed: | 2014-10-14 05:01:04 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1095944 | ||||||
| Attachments: |
|
||||||
|
Description
David Vossel
2014-05-08 21:51:26 UTC
upstream patch related to this issue. https://github.com/davidvossel/resource-agents/commit/c04d89842bb11e975e71fa1d7d632ec2eb2bd055 Created attachment 893796 [details]
unit test
This script tests the new force_unmount=safe option the patch adds.
unit-test by running the following.
./bind-test.sh /usr/lib/ocf/resource.d/heartbeat/Filesystem
-- Vossel
I have verified with unittest from comment #2 that independent filesystems would not block each other with resource-agents-3.9.5-11.el6.x86_64 ----- # rpm -q resource-agents resource-agents-3.9.5-11.el6.x86_64 # ./bind-test_v2.sh umount: /root/testsrc: not found umount: /root/target: not found <debug> Checking fs "testrsc", Level [bind-mount.sh] Checking fs "testrsc", Level <err> default: /root/testsrc is not mounted on /root/target [bind-mount.sh] default: /root/testsrc is not mounted on /root/target <info> /root/testsrc is not mounted [bind-mount.sh] /root/testsrc is not mounted <info> mounting /root/testsrc on /root/target [bind-mount.sh] mounting /root/testsrc on /root/target <debug> mount -o bind /root/testsrc /root/target [bind-mount.sh] mount -o bind /root/testsrc /root/target <debug> Checking fs "testrsc", Level [bind-mount.sh] Checking fs "testrsc", Level <debug> /root/testsrc already mounted [bind-mount.sh] /root/testsrc already mounted <info> unmounting /root/target [bind-mount.sh] unmounting /root/target <info> /root/testsrc is not mounted [bind-mount.sh] /root/testsrc is not mounted <debug> Checking fs "testrsc", Level [bind-mount.sh] Checking fs "testrsc", Level <err> default: /root/testsrc is not mounted on /root/target [bind-mount.sh] default: /root/testsrc is not mounted on /root/target <info> mounting /root/testsrc on /root/target [bind-mount.sh] mounting /root/testsrc on /root/target <debug> mount -o bind /root/testsrc /root/target [bind-mount.sh] mount -o bind /root/testsrc /root/target starting bg process to hold target file open this is test file starting bg process to hold target file open <debug> Checking fs "testrsc", Level [bind-mount.sh] Checking fs "testrsc", Level <info> unmounting /root/target [bind-mount.sh] unmounting /root/target umount: /root/target: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) <debug> umount failed: 1 [bind-mount.sh] umount failed: 1 <warning>Sending SIGTERM to processes on /root/target [bind-mount.sh] Sending SIGTERM to processes on /root/target <info> unmounting /root/target [bind-mount.sh] unmounting /root/target ./bind-test_v2.sh: line 31: 16639 Terminated tail -f "$target/testfile" ./bind-test_v2.sh: line 31: 16644 Terminated tail -f "$tmpfile" <debug> Checking fs "testrsc", Level [bind-mount.sh] Checking fs "testrsc", Level <err> default: /root/testsrc is not mounted on /root/target [bind-mount.sh] default: /root/testsrc is not mounted on /root/target PASSED Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2014-1428.html |