root tree is NULL in case of non btrfs devices, resulting in segfault.
This patch fixes such issue.
Signed-off-by: Harshavardhana <harsha@gluster.com>
---
btrfs-image.c | 5 +++++
btrfstune.c | 7 +++++++
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/btrfs-image.c b/btrfs-image.c
index f2bbcc8..b3cafbb 100644
--- a/btrfs-image.c
+++ b/btrfs-image.c
@@ -491,6 +491,11 @@ static int create_metadump(const char *input, FILE *out,
int num_threads,
int ret;
root = open_ctree(input, 0, 0);
+ if (!root) {
+ fprintf (stderr, "unable to open ctree for %s\n",
input);
+ return 1;
+ }
+
BUG_ON(root->nodesize != root->leafsize);
ret = metadump_init(&metadump, root, out, num_threads,
diff --git a/btrfstune.c b/btrfstune.c
index 47830c5..d2c3d51 100644
--- a/btrfstune.c
+++ b/btrfstune.c
@@ -108,6 +108,13 @@ int main(int argc, char *argv[])
root = open_ctree(device, 0, 1);
+ /* root is NULL if btrfs not found */
+ if (!root) {
+ fprintf(stderr, "Unable to open ctree for device:
%s\n",
+ device);
+ return 1;
+ }
+
if (seeding_flag) {
ret = update_seeding_flag(root, seeding_value);
if (!ret)
--
1.6.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html