There are several cases:
 * we run the lxc-create as root, the @path@/var/lib/lxc will be created
 * we run the lxc-create as non-root, the creation of the directory will
   fail with "permission denied", so we should call lxc-setcap before
 * we run lxc-setcap (always as root), we create the directory and set
   the permission for everyone.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
---
 src/lxc/lxc-setcap.in |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: lxc/src/lxc/lxc-setcap.in
===================================================================
--- lxc.orig/src/lxc/lxc-setcap.in
+++ lxc/src/lxc/lxc-setcap.in
@@ -49,7 +49,9 @@ lxc_setcaps()
     setcap $LXC_UNSHARE_CAPS=ep @BINDIR@/lxc-unshare
     setcap $LXC_NETSTAT_CAPS=ep @BINDIR@/lxc-netstat
     setcap $LXC_INIT_CAPS=ep @LIBEXECDIR@/lxc-init
-    chmod 2777 @LXCPATH@
+
+    test -e @LXCPATH@ || mkdir -p @LXCPATH@
+    chmod 0777 @LXCPATH@
 }
 
 lxc_dropcaps()



