openvz currently checks all file systems mounted under the VEs root against a static list of file system types. If one of the mounted file systems is not in that list, vzctl checkpoint complains about "unsupported fs type".
This can be fixed by extending the list of file systems and recompiling the vzcpt kernel module.
Here's how to do it under Ubuntu hardy:
cd /usr/local/src
apt-get -b source linux-image-2.6.24-17-openvz
cd linux-2.6.24
for a in debian/binary-custom.d/openvz/patchset/*.patch; do patch -p1 < $a; done
cd kernel/cpt
patch << EOF
--- cpt_files.h~ 2008-05-21 23:58:48.000000000 +0200
+++ cpt_files.h 2008-05-22 00:04:00.000000000 +0200
@@ -63,6 +63,9 @@
strcmp(mnt->mnt_sb->s_type->name, "ext2") != 0 && \
strcmp(mnt->mnt_sb->s_type->name, "simfs") != 0 && \
strcmp(mnt->mnt_sb->s_type->name, "unionfs") != 0 && \
+ strcmp(mnt->mnt_sb->s_type->name, "aufs") != 0 && \
+ strcmp(mnt->mnt_sb->s_type->name, "nfs") != 0 && \
+ strcmp(mnt->mnt_sb->s_type->name, "cifs") != 0 && \
strcmp(mnt->mnt_sb->s_type->name, "tmpfs") != 0 && \
strcmp(mnt->mnt_sb->s_type->name, "devpts") != 0 && \
strcmp(mnt->mnt_sb->s_type->name, "proc") != 0 && \
EOF
make -C /usr/src/linux M=/usr/local/src/linux-2.6.24/kernel/cpt modules modules_install
/lib/modules/2.6.24-17-openvz/extra
mv vz* ../kernel/kernel/cpt
depmod -a
/etc/init.d/vz stop
/etc/init.d/vz start