Check if the rootfs is btrfs subvolume, and if so delete it. Otherwise fall back to the rm -rf.
Signed-off-by: Dwight Engen <dwight.en...@oracle.com> --- src/lxc/lxc-destroy.in | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lxc/lxc-destroy.in b/src/lxc/lxc-destroy.in index 5c76569..1ea4a81 100644 --- a/src/lxc/lxc-destroy.in +++ b/src/lxc/lxc-destroy.in @@ -106,8 +106,8 @@ if [ $? -eq 0 ]; then fi # Deduce the type of rootfs -# If LVM partition, destroy it. If anything else, ignore it. We'll support -# deletion of others later. +# If LVM partition, destroy it. For btrfs, we delete the subvolue. If anything +# else, ignore it. We'll support deletion of others later. rootdev=`grep lxc.rootfs $lxc_path/$lxc_name/config 2>/dev/null | sed -e 's/^[^/]*/\//'` if [ -n "$rootdev" ]; then if [ -b "$rootdev" ]; then @@ -117,8 +117,13 @@ if [ -n "$rootdev" ]; then lvremove -f $rootdev fi elif [ -h "$rootdev" -o -d "$rootdev" ]; then - # In case rootfs is not under $lxc_path/$lxc_name, remove it - rm -rf --one-file-system --preserve-root $rootdev + if which btrfs >/dev/null 2>&1 && + btrfs subvolume list "$rootdev" >/dev/null 2>&1; then + btrfs subvolume delete "$rootdev" + else + # In case rootfs is not under $lxc_path/$lxc_name, remove it + rm -rf --one-file-system --preserve-root $rootdev + fi fi fi -- 1.7.1 ------------------------------------------------------------------------------ How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel