summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>2009-01-21 13:59:36 -0500
committerChris Mason <chris.mason@oracle.com>2009-01-21 13:59:36 -0500
commitaf250420caf71a4d787891d8ae49f56299a01201 (patch)
tree0891e574a45e3967544ba0cdf8bc3d592f0c44ea
parented62c2b0c26381770c33fbd0690d638627de511d (diff)
btrfsck: Exit and print error message when not able to open a device
If btrfsck is not able to open a device, it segfaults. This fixes it and prints an error message too.
-rw-r--r--btrfsck.c3
-rw-r--r--disk-io.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/btrfsck.c b/btrfsck.c
index c50de7d8..1fcc372e 100644
--- a/btrfsck.c
+++ b/btrfsck.c
@@ -2075,6 +2075,9 @@ int main(int ac, char **av)
radix_tree_init();
root = open_ctree(av[1], 0, 0);
+ if (root == NULL)
+ return 1;
+
ret = check_extents(root);
if (ret)
goto out;
diff --git a/disk-io.c b/disk-io.c
index c15cf53e..e49c220d 100644
--- a/disk-io.c
+++ b/disk-io.c
@@ -530,6 +530,7 @@ struct btrfs_root *open_ctree(const char *filename, u64 sb_bytenr, int writes)
fp = open(filename, flags, 0600);
if (fp < 0) {
+ fprintf (stderr, "Coult not open %s\n", filename);
return NULL;
}
root = open_ctree_fd(fp, filename, sb_bytenr, writes);