From c977e24dec46803fe691f5da35756523e6356473 Mon Sep 17 00:00:00 2001
From: Olaf Hering <olaf@aepfle.de>
Date: Tue, 13 May 2014 15:31:21 +0200
Subject: hotfix

Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
 pkg-hotfix.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 pkg-hotfix.txt

diff --git a/pkg-hotfix.txt b/pkg-hotfix.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/pkg-hotfix.txt
@@ -0,0 +1 @@
+
diff --git a/daemon/btrfs.c b/daemon/btrfs.c
index 7a4d43d..ceea593 100644
--- a/daemon/btrfs.c
+++ b/daemon/btrfs.c
@@ -356,6 +356,7 @@ do_btrfs_subvolume_list (const mountable_t *fs)
     ADD_ARG (argv, i, str_btrfs);
     ADD_ARG (argv, i, "subvolume");
     ADD_ARG (argv, i, "list");
+    ADD_ARG (argv, i, "-a");
     ADD_ARG (argv, i, fs_buf);
     ADD_ARG (argv, i, NULL);
 
diff --git a/src/listfs.c b/src/listfs.c
index ffb0adc..db127ea 100644
--- a/src/listfs.c
+++ b/src/listfs.c
@@ -176,9 +183,12 @@ check_with_vfs_type (guestfs_h *g, const char *device, struct stringsbuf *sb)
 
     for (size_t i = 0; i < vols->len; i++) {
       struct guestfs_btrfssubvolume *this = &vols->val[i];
+      char *btrfssubvolume_path = this->btrfssubvolume_path;
+      guestfs___trace(g, "XXX %s(%u) device %s btrfssubvolume_path %s", __func__, __LINE__, device, btrfssubvolume_path);
+      if (STREQ(btrfssubvolume_path, "<FS_TREE>/@")) btrfssubvolume_path = "/@";
       guestfs___add_sprintf (g, sb,
                              "btrfsvol:%s/%s",
-                             device, this->btrfssubvolume_path);
+                             device, btrfssubvolume_path);
       guestfs___add_string (g, sb, "btrfs");
     }