Subject: notice: recent puffs interface changes
To: None <>
From: Antti Kantee <>
List: current-users
Date: 04/23/2007 15:56:45
[if you have not written your own puffs file system or do not use it at
all, you might as well save time and skip this email... unless you're
really bored.  it might contain a joke]

Hi, some recent changes to puffs:

To accommodate nfs export support in a sane fashion, I had to change the
signature of puffs_node_readdir() slightly.  To adapt your file system,
just adapt the signature of the function to the new prototype.  You do
not need to touch the new parameters unless you plan on nfs exporting
your file system.  puffs_ops(3) has the details.

puffs_usermount is completely private to the library now.  Accessors
have been added to libpuffs, see puffs(3).  The most common need was
to get the private mount data pointer, and that can be retrieved now
using puffs_getspecific(pu).

The maxreqlen parameter was removed from puffs_mount().  If you set it
to 0, you can just remove it from the call and be happy.  If it was set
to something, you need to call puffs_init() and puffs_setmaxreqlen()
before calling puffs_domount().  puffs(3) for details.
(puffs_mount() is now shorthand for puffs_init() + puffs_domount())

I have some further changes planned, which will most likely change the
interfaces slightly again.  And once again: if you are a user, cvs up
followed by a full build is enough to get all the new goodies.

Or if you are keen on skipping steps, here's the short version:
* build kernel
* run 'make includes' in src/sys/fs/puffs
* run 'make includes' in src/lib/libpuffs
* run 'make clean dependall install' in src/lib/libpuffs
* build file systems with 'make clean dependall'

* reboot (or modunload + modload)

  - antti

[nope, sorry, seems like I could squeeze a joke in there.  maybe I'll
have better luck next time?]

Antti Kantee <>                     Of course he runs NetBSD                
    "la qualité la plus indispensable du cuisinier est l'exactitude"