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: Oleg Freedhom <overlayfs@gmail.com>
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)