[Nix-dev] NILFS2, NixOS, nixpart and Blivet

aszlig aszlig at redmoonstudios.org
Tue Sep 30 13:58:16 CEST 2014


On Tue, Sep 30, 2014 at 09:08:41PM +1000, Tim Barbour wrote:
> The most serious problem is that NILFS2 needs to update /etc/mtab when
> mounting a filesystem, so that it can store information about the
> nilfs_cleanerd process associated with the mounted filesystem. If it cannot
> write to /etc/mtab, it does not start nilfs_cleanerd, and thus does not do
> garbage collection. In NixOS, /etc/mtab is just a symlink to /proc/mounts. I
> have worked around this manually so far, by replacing the symlink with a copy
> of /proc/mounts, then remounting all the NILFS2 filesystems. I am not sure how
> to resolve this properly. It is possible to mount using the '-n' option, but
> then NILFS2 will not start nilfs_cleanerd; it can be started later, but that
> requires writing to /etc/mtab. Perhaps the right way would be to mount using
> '-n', then start nilfs_cleanerd separately, but care would be necessary to
> make sure that nilfs_cleanerd is started exactly once (per filesystem), and
> shutdown appropriately at unmount.

I don't have any experience with NILFS2 yet, but you might want to take
a look at how it is handled when using NFS in fileSystems:

https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/tasks/filesystems/nfs.nix

> Another problem is that nixpart does not work with NILFS2, because Blivet does
> not support it. I modified Blivet (0.41) to support NILFS2, but the NixOS
> Blivet packages use a very old version (0.17-1), so I cannot easily test my
> change against the latest version of Blivet. I have back-ported it to 0.17-1,
> and used that to setup partitions and filesystems for the above NixOS
> installation. I noticed one problem: it did not label any of the volumes, not
> even swap, even though I specified labels. I suspect this is a deficiency of
> Blivet 0.17-1, and imagine it is already fixed in Blivet 0.41 .

Nice :-) Have you considered submitting your patch for 0.41 upstream? If
it doesn't get upstreamed too soon, I could include it as well while
cleaning up the mess^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hupdating
blivet/nixpart.

But as mentioned in the other mail, I'm working on nixpart 1.0 already,
which should get rid of the monkey patching with 0.17.

> I attach a tarball with patches for Blivet (note that the 0.41 patch is
> untested).

Yah, probably would make sense to test against 0.41, because I think we
shouldn't aim for old versions, especially in terms of nixpart.

a!
-- 
aszlig
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 230 bytes
Desc: Digital signature
Url : http://lists.science.uu.nl/pipermail/nix-dev/attachments/20140930/f80c7a4e/attachment-0001.bin 


More information about the nix-dev mailing list