From 7bf821f3f988d3ba9c88d4baf303aef18bb097f3 Mon Sep 17 00:00:00 2001 From: Thomas Bertschinger Date: Fri, 24 May 2024 22:00:27 -0600 Subject: [PATCH] check errno to determine fsck ioctl error The error code is in errno, not the return value. Signed-off-by: Thomas Bertschinger Signed-off-by: Kent Overstreet --- c_src/cmd_fsck.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/c_src/cmd_fsck.c b/c_src/cmd_fsck.c index f1f4ae89..68d22fd4 100644 --- a/c_src/cmd_fsck.c +++ b/c_src/cmd_fsck.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -98,7 +99,7 @@ static int fsck_online(const char *dev_path) int fsck_fd = ioctl(fs.ioctl_fd, BCH_IOCTL_FSCK_ONLINE, &fsck); if (fsck_fd < 0) - die("BCH_IOCTL_FSCK_ONLINE error: %s", bch2_err_str(fsck_fd)); + die("BCH_IOCTL_FSCK_ONLINE error: %s", bch2_err_str(errno)); return splice_fd_to_stdinout(fsck_fd); } @@ -249,7 +250,7 @@ int cmd_fsck(int argc, char *argv[]) goto userland_fsck; if (fsck_fd < 0) - die("BCH_IOCTL_FSCK_OFFLINE error: %s", bch2_err_str(fsck_fd)); + die("BCH_IOCTL_FSCK_OFFLINE error: %s", bch2_err_str(errno)); ret = splice_fd_to_stdinout(fsck_fd); } else {