]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - c_src/cmd_fsck.c
cmd_fsck: Collect return code of kernel fsck with close()
[bcachefs-tools-debian] / c_src / cmd_fsck.c
index 321463caf5768df4eedc05cdb4a85d506216a62b..0d4070a3a1afadbd66b15a393d0e527c74916826 100644 (file)
@@ -70,15 +70,17 @@ static int splice_fd_to_stdinout(int fd)
                select(fd + 1, &fds, NULL, NULL, NULL);
 
                int r = do_splice(fd, STDOUT_FILENO);
+               if (r < 0)
+                       return r;
                if (r)
-                       return r < 0 ? r : 0;
+                       break;
 
                r = do_splice(STDIN_FILENO, fd);
                if (r < 0)
                        return r;
        }
 
-       return 0;
+       return close(fd);
 }
 
 static int fsck_online(const char *dev_path)