Bug 1332554

Summary: runner: extract and return actual exit status of child
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Prasanna Kumar Kalever <prasanna.kalever>
Component: coreAssignee: Bug Updates Notification Mailing List <rhs-bugs>
Status: CLOSED NEXTRELEASE QA Contact: Anoop <annair>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rhgs-3.1CC: bugs, rhs-bugs, storage-qa-internal
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1329129 Environment:
Last Closed: 2016-05-05 07:42:01 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: 1329129    
Bug Blocks: 1331759    

Description Prasanna Kumar Kalever 2016-05-03 13:12:56 UTC
+++ This bug was initially created as a clone of Bug #1329129 +++

Description of problem:
                                                                                                         
In the current runner framework we always return the pid i.e ret value of the waitpid, as said above it is not the exit value of the child process

Version-Release number of selected component (if applicable):
mainline

Actual results:
returning the ret value of waitpid()

Expected results:
extract the exit code and return the actual exit status of the child process

--- Additional comment from Vijay Bellur on 2016-04-21 07:44:46 EDT ---

REVIEW: http://review.gluster.org/14042 (runner: extract and return actual exit status of child) posted (#1) for review on master by Prasanna Kumar Kalever (pkalever)

--- Additional comment from Vijay Bellur on 2016-04-25 10:18:13 EDT ---

COMMIT: http://review.gluster.org/14042 committed in master by Jeff Darcy (jdarcy) 
------
commit 19fd9a371fff4ece2c617f1e7194ffcee039f21e
Author: Prasanna Kumar Kalever <prasanna.kalever>
Date:   Thu Apr 21 14:38:16 2016 +0530

    runner: extract and return actual exit status of child
    
    Intro:
    pid_t waitpid(pid_t pid, int *status, int options);
    
    The waitpid() system call suspends execution of the calling process
    until a child specified by pid  argument has  changed  state.
    
    Here the ret (pid) value is not equal to the exit status of the child process.
    Check manpages for more info on this.
    
    Problem:
    In the current runner framework we always return the pid i.e ret value
    of the waitpid, as said above it is not the exit value of the child process
    
    Solution:
    Extract the actual exit code/status in case if the child terminated normally,
    that is, by calling exit(3) or _exit(2), or by returning from main()
    
    Change-Id: Iffae99a43e540af66917b3745f21ea3c2a5a3c2d
    BUG: 1329129
    Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever>
    Reviewed-on: http://review.gluster.org/14042
    Tested-by: Prasanna Kumar Kalever <pkalever>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    CentOS-regression: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Smoke: Gluster Build System <jenkins.com>
    Reviewed-by: Jeff Darcy <jdarcy>

Comment 2 Prasanna Kumar Kalever 2016-05-05 07:42:01 UTC
will be tracked under 1322306