We missed to add the default subvolume, because it has no ROOT_BACKREF_ITEM.
This made get_parent always fail for direct decendants of the default
subvolume, resulting in lots of full streams where incremental streams were
requested.

Signed-off-by: Jan Schmidt <list.bt...@jan-o-sch.net>
Reviewed-by: Alexander Block <abloc...@googlemail.com>
---
 send-utils.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/send-utils.c b/send-utils.c
index fcde5c2..d8d3972 100644
--- a/send-utils.c
+++ b/send-utils.c
@@ -240,7 +240,8 @@ int subvol_uuid_search_init(int mnt_fd, struct 
subvol_uuid_search *s)
                                memcpy(&root_item, root_item_ptr,
                                                sizeof(root_item));
                                root_item_valid = 1;
-                       } else if (sh->type == BTRFS_ROOT_BACKREF_KEY) {
+                       } else if (sh->type == BTRFS_ROOT_BACKREF_KEY ||
+                                  root_item_valid) {
                                if (!root_item_valid)
                                        goto skip;
 
@@ -274,7 +275,6 @@ int subvol_uuid_search_init(int mnt_fd, struct 
subvol_uuid_search *s)
                                subvol_uuid_search_add(s, si);
                                root_item_valid = 0;
                        } else {
-                               root_item_valid = 0;
                                goto skip;
                        }
 
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to