Commit 553aa63d by Oleg Freedhom Committed by Stéphane Graber

fix btrfs_recursive_destroy

A change in kernel 4.2 caused btrfs_recursive_destroy to fail to delete unprivileged containers. This patch restores the pre-kernel-4.2 behaviour. Ref: Issue 935. Signed-off-by: 's avatarOleg Freedhom <overlayfs@gmail.com>
parent 9daa3235
......@@ -1767,8 +1767,13 @@ static int btrfs_recursive_destroy(const char *path)
ret = ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args);
if (ret < 0) {
close(fd);
ERROR("Error: can't perform the search under %s\n", path);
free_btrfs_tree(tree);
if (errno == EPERM || errno == EACCES) {
WARN("Warn: can't perform the search under %s. Will simply try removing", path);
goto ignore_search;
}
ERROR("Error: can't perform the search under %s\n", path);
return -1;
}
if (sk->nr_items == 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment