Commit 8ba6dc5e by Oleg Freedhom

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 55c91e83
...@@ -616,8 +616,13 @@ static int btrfs_recursive_destroy(const char *path) ...@@ -616,8 +616,13 @@ static int btrfs_recursive_destroy(const char *path)
ret = ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args); ret = ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args);
if (ret < 0) { if (ret < 0) {
close(fd); close(fd);
ERROR("Error: can't perform the search under %s\n", path);
free_btrfs_tree(tree); 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; return -1;
} }
if (sk->nr_items == 0) 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