Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 619139 - fsck returns zero instead of error code
fsck returns zero instead of error code
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: util-linux-ng (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: Karel Zak
Depends On:
  Show dependency treegraph
Reported: 2010-07-28 12:38 EDT by Bryn M. Reeves
Modified: 2011-05-19 10:05 EDT (History)
7 users (show)

See Also:
Fixed In Version: util-linux-ng-2.17.2-9.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 618134
Last Closed: 2011-05-19 10:05:51 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
fix fsck error handling (1.63 KB, patch)
2010-07-28 12:59 EDT, Bryn M. Reeves
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0699 normal SHIPPED_LIVE util-linux-ng bug fix and enhancement update 2011-05-18 14:10:13 EDT

  None (edit)
Description Bryn M. Reeves 2010-07-28 12:38:38 EDT
+++ This bug was initially created as a clone of Bug #618134 +++

Description of problem:
fsck command does not return with proper error code but returns zero under specific circumstance. The return value of fsck_device function should appear as the error code. 

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

How reproducible:

Steps to Reproduce:
1. Create entry such as following to /etc/fstab: 
    /dev/sda1  /data  ignore  defaults  1 2 ###fstype is "ignore"
2. Execute # fsck -t ignore /dev/sdb1 which would return error message. 
3. Execute echo $? to confirm it returned 0 instead of error code. 

Actual results:
# echo $? returns 0. 

Expected results:
It should return non-zero, desirably, 8. 

Additional info:
The bug has been encountered by vendor's middle ware, which continued to try running although there were an error.
Comment 1 Eric Sandeen 2010-07-28 12:49:08 EDT
The "fsck" binary itself is now part of util-linux-ng in rhel6

Comment 2 Bryn M. Reeves 2010-07-28 12:59:28 EDT
Created attachment 435077 [details]
fix fsck error handling

Doh.. Thanks Eric! Here's the patch.
Comment 3 Bryn M. Reeves 2010-07-28 13:05:31 EDT
Patch in comment #2 is from the partner who reported this, reviewed & localbuild tested by me.
Comment 5 Karel Zak 2010-12-27 16:34:26 EST
Fixed by upstream commit 6c6f2af9e3949197cf7a70255895a2f4451f2319. Thanks for the patch!
Comment 7 Bryn M. Reeves 2011-04-13 13:25:05 EDT
Hmm, I'm a bit puzzled. I can't reproduce the original problem on older el6 versions now. Discussed this a bit with jmarko on irc but haven't had a chance to dig further.
Comment 8 Karel Zak 2011-04-13 19:03:39 EDT
Upstream commit message:

     fsck: returns proper code on exec() error
        # fsck -t foo /dev/sda1; echo $?
        fsck: fsck.foo: not found
        /sbin/fsck: Error 2 while executing fsck.foo for /dev/sda1
    new version:
        # fsck -t foo /dev/sda1; echo $?
        fsck: fsck.foo: not found
        fsck: Error 2 while executing fsck.foo for /dev/sda1
Comment 12 errata-xmlrpc 2011-05-19 10:05:51 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.