Btrfs: ignore non-FS inodes for send/receive
authorAlexander Block <ablock84@googlemail.com>
Wed, 1 Aug 2012 12:47:03 +0000 (14:47 +0200)
committerChris Mason <chris.mason@fusionio.com>
Mon, 1 Oct 2012 19:18:59 +0000 (15:18 -0400)
We have to ignore inode/space cache objects in send/receive.

Reported-by: Alex Lyakas <alex.bolshoy.btrfs@gmail.com>
Signed-off-by: Alexander Block <ablock84@googlemail.com>
fs/btrfs/send.c

index db051d17b0beb60b5c2350eb954eaba4b395be66..a4011a9148fdd09d0bda8a719fca91b3c4335df0 100644 (file)
@@ -4287,6 +4287,11 @@ static int changed_cb(struct btrfs_root *left_root,
        if (ret < 0)
                goto out;
 
+       /* Ignore non-FS objects */
+       if (key->objectid == BTRFS_FREE_INO_OBJECTID ||
+           key->objectid == BTRFS_FREE_SPACE_OBJECTID)
+               goto out;
+
        if (key->type == BTRFS_INODE_ITEM_KEY)
                ret = changed_inode(sctx, result);
        else if (key->type == BTRFS_INODE_REF_KEY)