Subject: NetBSD+=TCFS, how to use generic FS layer system?
To: None <tech-kern@NetBSD.org>
From: VaX#n8 <vax@carolina.rr.com>
List: tech-kern
Date: 05/25/2004 15:48:55
TCFS is the Transparent Crypting File System.  It is a file system layer
that does encryption and sits above something like FFS.  It does not need
any special support from the underlying layer except for some file system
flags (see chflags).  For docs and more info, see: http://www.tcfs.it/

It is working pretty well but I'd like to make it even better by
eliminating any redundant code (further suggestions appreciated).

So to this end I'd like to know is how to use the layerfs code.
I know how to put layer_bypass and other vnodeops into the table,
but I'm a little confused when it comes to using a compatible
mount and vnode structure.  I tried it without and it started generating
all kinds of debugging information.  Can anyone help me understand
what I need to do?

I've basically integrated it into NetBSD-1.6.2, and you can see my work here:
http://vaxn8.tripod.com/tcfs/NetBSD162/index.html

It can be compiled in statically or as a module.
Currently you must get the userland from the TCFS package
(however, its LKM should *not* be used as its DES implementation is broken).
Since the package mount_tcfs gets installed in /usr/pkg/sbin and not /sbin,
you can't "mount -t tcfs" yet, but you can call mount_tcfs directly.