Too much policy in the macros PUFFSOP_PROTOS naming pattern is undocumented puffs_ops doesn't mention fs_extattrctl PUFFSOP_INIT initializes pointers to all-0-bits Return values from fs ops are undocumented puffs(3) says "It is advisable to simply use the struct puffs_node address as a cookie and store file system specific data in the private portion of struct puffs_node. The library assumes this by default.". It does not, however, give any indication where to get a puffs_node for the last arg to puffs_mount! puffs_set_cookiemap is mentioned but not documented. fs_nodetofh is documented as taking a puffs_cooie_t, but there is no such type. puffs(3) doc for puffs_init says _PATH_PUFFS, but it's not defined. puffs_init() frees(!!) the ops struct; this is not documented. puffs_cookie_t is not documented at all node_readdir fourth arg is called readoff but text calls it offset puffs_nextdent is recommended for readdir use but isn't documented Lookup op is documented as using PUFFSLOOKUP_*, which don't exist. node_lookup documentation says "eof-of-file". When puffs_init fails, it sets errno; this is not documented.