Red Hat Bugzilla – Bug 150481
Stopping of filesystem service fails with certain devices
Last modified: 2009-04-16 16:16:51 EDT
Description of problem:
Thanks to Ion Alberdi <email@example.com> for pointing this out.
The umount command does not work with all device types, as it is being
deprecated, according to the umount man page. So if you are using,
for example, CLVMD block devices and one of these is used in an fs
service, that service will fail to stop.
The reason the service fails to stop is umount won't work with this
type of device:
[root@link-11 cluster]# mount | grep VG3
/dev/VG3/LV3 on /mnt/gfs3 type ext3 (rw)
[root@link-11 cluster]# umount /dev/VG3/LV3
umount: /dev/VG3/LV3: not mounted
[root@link-11 cluster]# umount /mnt/gfs3
By changing line 821 of /usr/share/cluster/fs.sh from:
The service will now stop properly. Haven't scoured the script yet,
so there may well be other places that need to be changed.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Ah, an artifact of 5-year-old mount/umount code ;)
Er, why will 'mount' work but not 'umount' ?
Fixed in CVS
Needs to follow symlinks in status portion so that we can compare
multiple possible outputs of mount(1).
(Don't forget to watch for symlink loops.)
which is a symlink to:
The latter is what mount(1) reports.
Derek noted that we should run down symlinks in the output of mount too.
Fixes in CVS.
a. Walks symlinks / does findfs / whatever for specifed device
b. Figures out if mount output is a symlink and traces it for each
"device" output from mount(1).
fs.sh should work with symlinks specified, UUID=<foo>, LABEL=<foo>,
and directly-specified devices (e.g. /dev/sda1) now, even if the
output of mount(1) doesn't directly match what was specified in
cluster.conf (as long as the final device matches...).
These have been fixed in CVS for some time; closing