[Soc-coordination] Final summary of ZFS on Linux integration project

Darik Horn dajhorn at vanadac.com
Thu Sep 26 05:54:57 UTC 2013


On Tue, Sep 24, 2013 at 12:28 AM, Aron Xu <happyaron.xu at gmail.com> wrote:
> Hi everyone,
>
> This is the final summary of ZFS on Linux integration project.
>
> Looking at the whole project, the overall goal is accomplished with
> direct and indirect help from different parties - ZoL project, D-I
> community, and of course my mentor.

Where are the final products posted?  I audited your work, and I can't
find a complete deliverable for any of the stated GSoC project goals.

Now quoting from the specification at:
https://wiki.debian.org/SummerOfCode2013/Projects#ZFS_on_Linux_integration


> 1. Integrated ZFS on Linux support via "apt-get install" and support for ZFS root filesystem.

In your last status update, you said that only packages for non-root
installation are ready, but surely you have partial work to submit.
Where are the preliminary patches for grub, util-linux,
debian-installer, etc, that would support a ZFS root filesystem on
Debian?


> 2. Write or improve wrappers including zfs-auto-snapshot, apt-zfs-snapshot, and maybe more.

I haven't received any submissions for zfs-auto-snapshot upstream, but
apt-zfs-snapshot is interesting.  Where can I download it?


> 3. Improve debian-installer/partman integration. This involves creating volumes when doing the initial installation, and maybe separate system directories (/boot, /usr, /lib, etc) from user directories (e.g. /home).

You can't fulfill this goal before the deadline due to externalities
involving licensing and system policy, but you were aware of these
risks before starting the job.

Additionally, the stuff that you did do seems to be a repack of the
existing kFreeBSD support.  I don't see anything new for ZoL in the
debian-installer repository, and your contributions to partman-zfs
don't fix bugs like #721578, which could be big enough for a separate
project.


> 4. A beadm-like tool. beadm is a wrapper available on Solaris, and it is dependent to previous item like the initial filesystem layout created by the installer. Changes to debian-installer/partman and grub2 would be required.

The beadm code from Solaris doesn't compile cleanly on Debian and it
doesn't recognize the Linux loader configuration.  Where can I get the
ported version?


> 5. Optionally a testing tool to verify if the integration works with common setups, i.e. automation testing using virtual machines to simulate common setups and usages (desktops, servers, storage servers, etc).

Did any work happen here?  Where is the test matrix and status page?
Did you post virtual machines for common setups?  Did you engage the
user community for deployment scenarios?


> What the student will learn: experience of filesystem integration and collaboration with different teams

This bullet is an implied sixth goal, but you have zero participation
in the upstream lists, zero participation in the upstream issue
tracker, and you failed to publicize your work or otherwise make it
easily accessible.


Furthermore, the project specification is somewhat inconsistent with
the project proposal.  Now quoting from:
https://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/aron/12001


> 1. “apt-get”-able zfs support using DKMS

This work was finished years ago -- certainly in time for the ITP
ticket opened in September 2012 -- so you shouldn't get any credit for
it.

Nevertheless, I ran a code analysis on your packaging repository.  In
total, you have 31 commits in the SPL overlay, 69 commits in the ZFS
overlay, and 0 commits upstream.  And the Alioth repository is empty,
which is the landing page for new users.

However, excluding upstream merges and boilerplate changes, there are
only 13 functional changes in SPL and 34 functional changes in ZFS,
most of which are trivial.  Some of these are duds like the unmatched
parenthesis that should have been caught in testing or review.

Objectively the diffstat is tiny, and subjectively you've personally
written nearly zero actual useful code (that is publicly available).


> 2. “apt-get”-able tools like apt-zfs-snapshot, zfs-auto-snapshot, and beadm-like tool.
> 3. Debian Installer support through a pre-build debian-installer image with zfs support included.
> 4. Make Debian Installer create root file system using transparent volumes by creating FHS directories as independent dataset, and tweak the default volume setting for which system is to be used.
> 5. The beadm-like tool, is a wrapper program to help users make snapshot properly, switch between different set of snapshots by changing default volume of the file system and make changes to Grub2 configurations when needed.
> 6. Similar to the beadm-like tool, other tools like apt-zfs-snapshot can make use of the dataset layout, so that users can get similar experience like switching between systems without affecting user directories.

Same as above.  Where is the code posted?

Even if you get goal #1 for free and goal #3 for effort, then your
current score is still 2/6 for failing to deliver root capabilities,
the apt-zfs-snapshot and beadm utilities, a testing tool or framework,
and anything else that is not plain packaging.

-- 
Darik Horn <dajhorn at vanadac.com>



More information about the Soc-coordination mailing list