Bug 1416336

Summary: consume fix for "Bug 1356667: libsanlock does not handle EINTR, causing failures in client" to be released 2016-Sep-13
Product: Red Hat Enterprise Virtualization Manager Reporter: Tal Nisan <tnisan>
Component: vdsmAssignee: Nir Soffer <nsoffer>
Status: CLOSED ERRATA QA Contact: Elad <ebenahar>
Severity: high Docs Contact:
Priority: high    
Version: 4.0.3CC: amureini, bazulay, bugs, eheftman, gklein, lsurette, mkalinin, nsoffer, ratamir, srevivo, tnisan, ycui, ykaul, ylavi
Target Milestone: ovirt-4.0.7   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, the sanlock library did not handle interrupted system calls correctly. As a result, if a vdsm child process was terminated while the vdsm was blocked on a sanlock call, the call was interrupted and failed. Now, the sanlock library correctly handles interrupted system calls and sanlock calls do not fail if a child process is terminated during a sanlock call.
Story Points: ---
Clone Of: 1356676 Environment:
Last Closed: 2017-03-16 15:36:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1356667, 1356676    
Bug Blocks:    

Comment 1 Raz Tamir 2017-01-26 08:35:27 UTC
Tal,
Can you provide clear steps to reproduce?

Comment 2 Tal Nisan 2017-01-26 09:10:58 UTC
Making sure sanlock package on RHEL hosts equals to or bigger than sanlock-3.2.4-3.el7_2 should do

Comment 3 Nir Soffer 2017-01-26 09:21:02 UTC
Vdsm requires sanlock >= 3.4.0-1, if you can install vdsm on the system this 
bug can be verified.

This was fixed in:

commit b9c733c0427c0141b9e04528e2dd11e61978c9ef
Author: Allon Mureinik <amureini>
Date:   Thu Jul 21 17:06:17 2016 +0300

    spec: Require sanlock version handling EINTR
    
    libsanlock was not handling EINTR, causing failures in sanlock calls
    if vdsm received a signal while libsnalock was blocked in a syscall.
    A typical case is when a child process terminates and vdsm receives a
    SIGCHLD signal.
    
    When this happens, the vdsm operation fails with this error:
    
        SanlockException: (4, 'Sanlock ...', 'Interrupted system call')
    
    Change-Id: Ied259bcf6a2200d649268e6e16ea9e80ed10250c
    Bug-Url: https://bugzilla.redhat.com/1356676
    Signed-off-by: Allon Mureinik <amureini>

Comment 4 Elad 2017-01-31 12:05:39 UTC
vdsm requires the correct Sanlock version which delivers a fix for this issue via bug 1356667 


[root@storage-jenkins-ge4-vdsm1 ~]# yum deplist vdsm

dependency: sanlock >= 3.4.0-1
   provider: sanlock.x86_64 3.4.0-1.el7



Tested using:
vdsm-4.18.22-1.el7ev.x86_64
rhevm-4.0.7-0.1.el7ev.noarch

Comment 6 errata-xmlrpc 2017-03-16 15:36:09 UTC
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.

https://rhn.redhat.com/errata/RHBA-2017-0544.html