Btrfs-progs: Set the root-id for received subvols in btrfs receive
authorStefan Behrens <sbehrens@giantdisaster.de>
Wed, 10 Apr 2013 10:08:31 +0000 (12:08 +0200)
committerDavid Sterba <dsterba@suse.cz>
Tue, 23 Apr 2013 16:56:23 +0000 (18:56 +0200)
When an entry was added to the subvol search tree, the root_id was
always 0 (not set at all) and therefore only the first one was
added, all the others had been ignored. This commit sets the root_id
before the entry is added.

Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
cmds-receive.c

index 1572ce2..763caba 100644 (file)
@@ -45,6 +45,7 @@
 #include "commands.h"
 #include "utils.h"
 #include "list.h"
+#include "btrfs-list.h"
 
 #include "send.h"
 #include "send-stream.h"
@@ -125,6 +126,9 @@ static int finish_subvol(struct btrfs_receive *r)
                goto out;
        }
 
+       ret = btrfs_list_get_path_rootid(subvol_fd, &r->cur_subvol->root_id);
+       if (ret < 0)
+               goto out;
        subvol_uuid_search_add(&r->sus, r->cur_subvol);
        r->cur_subvol = NULL;
        ret = 0;