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

Reply via email to