Hi All, so, this is the current situation with simfs:
First of all we cannot implement as it was previously (in OpenVZ 6, 2.6.32-x kernels). This is because there is no vzfs in Virtuozzo 7, but all quota related code used by simfs was shared between vzfs and simfs, and maintaining that code for simfs only is definitely not the thing we'd be happy to do. Yes, we definitely want to reuse some mainstream (or write a mainstream-able) code for it. So, how this could be implemented? "Old" simfs fs without quota - is just a bindmount => this is a start point. 1st level quota for simfs-based Containers (the quota for the Container as a whole) can be implemented using project quota which is going to be accepted to mainstream sooner or later. As for the 2nd level quota (per-user quota inside a CT), we had not found any good solution during our internal discussions, so ideas from community are very welcome. So what do we have at the moment: you can create a simfs-based Container in Virtuozzo 7 (see instructions below), but cannot manage quota for it. What should be done further (that's what you can help us with): 1. Take project quota kernel patches (which Stas Kinsbursky alredy ported to vz7 kernel some time ago), apply them to current vz7 kernel - you'll get the kernel able to manage project quota. 2. Need to add project quota support to appropriate userspace tools: quota-tools and e2fsprogs see details at https://bugs.openvz.org/browse/OVZ-6619 Hope that helps to understand our plans on simfs in Virtuozzo 7 and looking forward for a hero who could drive this forward! :) More formal feature description is below: =========================================================================================== 1. Feature simfs filesystem for Virtuozzo 7 Containers 2. Description https://bugs.openvz.org/browse/OVZ-6613 https://jira.sw.ru/browse/PSBM-40730 Differences between recommended Containers disk backend (ploop) and simfs: https://openvz.org/CT_storage_backends Unlike previous versions of OpenVZ, simfs layout in Virtuozzo 7 is based on bindmounts. This means once you start a simfs-based Container, effectively "private" area of a Container is bindmounted to the "root" Container area. That's it. How to create a simfs-based Container: * set VEFSTYPE=simfs in the /etc/vz/vz.conf # vzctl create $VEID 3. Products Virtuozzo 7, libvzctl-7.0.170 4. Testing just a validation: - create a Container - start/stop the Container - destroy the Container 5. Known issues * quota for simfs-based Containers is not implemented - 1st level quota (for the Container as a whole) is planned to be implemented via project quota https://bugs.openvz.org/browse/OVZ-6619 - 2nd level quota (per-user quota inside a Container) is not planned * online migration of a simfs-based Container is not implemented 6. Feature owner Kernel part: Stanislav Kinsbursky <skinsbur...@virtuozzo.com> Userspace part: Igor Sukhih <i...@virtuozzo.com> -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team _______________________________________________ Users mailing list Users@openvz.org https://lists.openvz.org/mailman/listinfo/users