Btrfs: ignore orphan qgroup relations

If a qgroup that has still assignments is deleted by the user, the corresponding
relations are left in the tree. This leads to an unmountable filesystem.
With this patch, those relations are simple ignored.

Reported-by: Eric Hopper <hopper@omnifarious.org>
Signed-off-by: Arne Jansen <sensille@gmx.net>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
Arne Jansen 2013-01-17 01:22:08 -07:00 committed by Chris Mason
parent 57ba86c00f
commit ff24858c65

View File

@ -379,6 +379,13 @@ next1:
ret = add_relation_rb(fs_info, found_key.objectid, ret = add_relation_rb(fs_info, found_key.objectid,
found_key.offset); found_key.offset);
if (ret == -ENOENT) {
printk(KERN_WARNING
"btrfs: orphan qgroup relation 0x%llx->0x%llx\n",
(unsigned long long)found_key.objectid,
(unsigned long long)found_key.offset);
ret = 0; /* ignore the error */
}
if (ret) if (ret)
goto out; goto out;
next2: next2: