]> xenbits.xensource.com Git - people/royger/freebsd.git/commitdiff
Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code for missing devices.
authorKirk McKusick <mckusick@FreeBSD.org>
Wed, 16 Mar 2022 18:37:15 +0000 (11:37 -0700)
committerKirk McKusick <mckusick@FreeBSD.org>
Wed, 16 Mar 2022 23:14:57 +0000 (16:14 -0700)
PR:          262580
Approved by: re (gjb, early MFC)

(cherry picked from commit 2983ec0a87a18943564548c5c00c879c8db83edf)
(cherry picked from commit 934ba51bc929ee23248353a081a4cc4327a4ec54)

sbin/fsck_ffs/setup.c

index 45662636557d8f3e5bd6a9035f3b811facf997d6..14b34962d3fefefd437b0129877904a422780288 100644 (file)
@@ -219,10 +219,8 @@ openfilesys(char *dev)
        struct stat statb;
        int saved_fsreadfd;
 
-       if (stat(dev, &statb) < 0) {
-               pfatal("CANNOT STAT %s: %s\n", dev, strerror(errno));
+       if (stat(dev, &statb) < 0)
                return (0);
-       }
        if ((statb.st_mode & S_IFMT) != S_IFCHR &&
            (statb.st_mode & S_IFMT) != S_IFBLK) {
                if (bkgrdflag != 0 && (statb.st_flags & SF_SNAPSHOT) == 0) {
@@ -240,7 +238,6 @@ openfilesys(char *dev)
        saved_fsreadfd = fsreadfd;
        if ((fsreadfd = open(dev, O_RDONLY)) < 0) {
                fsreadfd = saved_fsreadfd;
-               pfatal("CANNOT OPEN %s: %s\n", dev, strerror(errno));
                return (0);
        }
        if (saved_fsreadfd != -1)