RHBA-2013:0541 - Bug Fix Advisory
sanlock bug fix and enhancement update
Bug Fix Advisory
Updated sanlock packages that fix various bugs and add various enhancements
are now available for Red Hat Enterprise Virtualization.
The sanlock packages provide a shared storage lock manager. Hosts with
shared access to a block device or file can use sanlock to synchronize
their activities. VDSM and libvirt use sanlock to synchronize access to
virtual machine images.
These updated packages, originally made available for Red Hat Enterprise
Linux, also affect Red Hat Enterprise Virtualization.
The sanlock packages have been upgraded to upstream version 2.6, which
provides a number of bug fixes and enhancements over the previous version,
including the new io_timeout setting, which has been added to the lockspace
API. I/O timeouts can now be adjusted directly with sanlock. (BZ#843073)
This update fixes the following bugs:
- In certain cases, an internal sanlock race condition occurred between the
add_lockspace and rem_lockspace API. This made add_lockspace difficult to
use from applications where multiple threads could be adding the same
lockspace. With this update, it is possible for the threads to coordinate
the lockspace operations. As a result, the aforementioned error no longer
- Prior to this update, the sanlock init script was not creating the
/var/lock/subsys/sanlock file. Consequently, the killall init script, which
uses such files to stop init services, did not terminate the sanlock
script. This bug has been fixed, and the /var/lock/subsys/sanlock file is
now properly created. (BZ#830848)
- Previously, the sanlock service ignored undefined UID and GID options,
which led to segmentation fault during the service startup. This bug has
been fixed, and the segmentation fault no longer occurs. (BZ#831906)
- Previously, the wdmd init script did not start the softdog module when no
watchdog device was loaded. Consequently, the wdmd and sanlock daemons
failed to start. The bug has been fixed, and softdog is now correctly
loaded in the described scenario. (BZ#832935)
- The sanlock inquire API was returning a lease version (lver) of "0"
instead of the real lver in the state string. Consequently, procedures like
migrate or suspend/resume failed to acquire a lease with an inquired
version. The bug has been fixed, and the correct lver number is now
returned by sanlock inquire. (BZ#840063)
- Prior to this update, the sanlock daemon acquired supplementary groups to
allow file access on NFS. Some NFS servers did not recognize these groups
and refused the file access. With this update, the sanlock daemon has been
modified to use the root helper process to kill the registered processes.
This update also adds the following enhancements:
- With this update, when the storage domain (lockspace) is unreachable, the
sanlock manager suspends affected processes instead of killing them. When
the host regains an access to lockspace, these processes are resumed.
- With this update, the sanlock package has been added to the vdsm
subchannel for supported usage in Red Hat Enterprise Virtualization. As a
result, sanlock is now being installed along with the vdsm package.
- The fence-sanlock subpackage has been added. It provides a fence agent,
that uses the sanlock and wdmd packages, along with the ability of wdmd to
run scripts as tests. (BZ#858964)
All users of sanlock are advised to upgrade to these updated packages,
which fix these bugs and add these enhancements.
Before applying this update, make sure all previously-released errata
relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
- Red Hat Virtualization 3 for RHEL 6 x86_64
- BZ - 906027 - sanlock: fixes for rhev
Red Hat Virtualization 3 for RHEL 6