Message ID | 1345019393-6168-1-git-send-email-Anand.Jain@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 15, 2012 at 04:29:53PM +0800, Anand jain wrote: > From: Anand Jain <anand.jain@oracle.com> > > btrfs f l / > No valid Btrfs found on / > Segmentation fault (core dumped) Patches fixing this have been sent like 4 times, last one was from Alexander's 'btrfs prop', that modified it a bit more (to return the label instead of printing it). http://permalink.gmane.org/gmane.comp.file-systems.btrfs/18287 while Danny fixes more instances of unhandled error code from open_ctree http://permalink.gmane.org/gmane.comp.file-systems.btrfs/15305 JFYI, david -- 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
diff --git a/btrfslabel.c b/btrfslabel.c index bf73802..cb142b0 100644 --- a/btrfslabel.c +++ b/btrfslabel.c @@ -67,7 +67,7 @@ static void change_label_unmounted(char *dev, char *nLabel) close_ctree(root); } -static void get_label_unmounted(char *dev) +int get_label_unmounted(char *dev) { struct btrfs_root *root; @@ -76,10 +76,14 @@ static void get_label_unmounted(char *dev) */ root = open_ctree(dev, 0, 0); + if(!root) + return -1; + fprintf(stdout, "%s\n", root->fs_info->super_copy.label); /* Now we close it since we are done. */ close_ctree(root); + return 0; } int get_label(char *btrfs_dev) @@ -98,8 +102,8 @@ int get_label(char *btrfs_dev) fprintf(stderr, "FATAL: the filesystem has to be unmounted\n"); return -2; } - get_label_unmounted(btrfs_dev); - return 0; + ret = get_label_unmounted(btrfs_dev); + return ret; }