From c22dea9871c1d112e1eed66efa128e1751c4d3d3 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Mon, 25 Jan 2016 19:53:42 +0100 Subject: [PATCH] btrfs_subvolume_show: fix root/toplevel check w/ btrfs-progs >= 4.4 In trfs-progs 4.4 the error message has been changed, and our check did not work anymore. Yes, parsing user messages really sucks... --- daemon/btrfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/daemon/btrfs.c b/daemon/btrfs.c index 85dbe0040..c67af8356 100644 --- a/daemon/btrfs.c +++ b/daemon/btrfs.c @@ -1029,9 +1029,12 @@ do_btrfs_subvolume_show (const char *subvolume) } /* If the path is the btrfs root, `btrfs subvolume show' reports: - * is btrfs root + * is btrfs root [in btrfs-progs < 4.4] + * is toplevel subvolume */ - if (out && strstr (out, "is btrfs root") != NULL) { + if (out && + (strstr (out, "is btrfs root") != NULL || + strstr (out, "is toplevel subvolume") != NULL)) { reply_with_error ("%s is btrfs root", subvolume); return NULL; }