Subject: Re: puffs - Pass-to-Userspace Framework File System
To: Antti Kantee <pooka@cs.hut.fi>
From: Blair Sadewitz <blair.sadewitz@gmail.com>
List: current-users
Date: 10/23/2006 01:33:17
I tried to build a kernel with puffs on amd64.

--- puffs_vnops.o ---
cc1: warnings being treated as errors
/usr/src/sys/fs/puffs/puffs_vnops.c: In function 'puffs_print':
/usr/src/sys/fs/puffs/puffs_vnops.c:1110: warning: format '%x' expects type=
 'uns
igned int', but argument 3 has type 'long unsigned int'
*** [puffs_vnops.o] Error code 1
1 error

Some of us are using 64-bit ports. ;)

On 10/22/06, Antti Kantee <pooka@cs.hut.fi> wrote:
> I just finished integrating my GSoC 2005 project (time flies when you're
> having fun ...)
>
> The ultimate goal is to facilitate easy, secure and controlled file
> system creation as a userspace server.  But for now it's just a trivial
> way to crash your system ... ermh.  Seriously though, it works, and
> if you want to play around with it:
>
> + get latest sources
> + compile kernel with "file-system PUFFS" (*1)
> + MAKEDEV puffs
> + compile dtfs from src/share/example/puffs/dtfs (*2)
> + run it: ./dtfs /mnt
> + play around.. pray around.. wear amulet of life-saving, etc.
> + pkill dtfs (or umount /puffs for the same effect)
>
> But for puffs to be of any real use other than just a slower-than-average
> in-memory file system (*3), you need to implement something on top of it.
> Documentation on this is forthcoming ;).  Although currently it can
> be said that the programming interface is very much like the vfs/vnode
> layer and that you can generally start by modifying dtfs: most of the fs
> internal structure is in dtfs_subr.c, while dtfs_{vn,vfs}ops.c contains
> what needs to read from and fed to libpuffs.
>
> The interfaces provided by are not guaranteed to be stable in any way,
> so if you upgrade your kernel, please fetch also the latest version of
> the library (and vice versa) and recompile everything.
>
> Nothing else is guaranteed to be stable either, though it seems to work
> for purely artificial workloads.  Wouldn't dream of running it on a real
> machine just yet, though.
>
> That's it for now.  I've got plenty of "fun", fun and FUN stuff planned,
> but more on that later.
>
>   - antti
>
>
> *1) No, didn't add it commented out to any kernel configs yet.  If you
>     want to use it, you need to write so much code anyway that adding 18
>     characters into a kernel config file shouldn't be the biggest barrier=