xref: /netbsd-src/lib/libpuffs/TODO (revision 638ce789801bf94c06a29fd9cc064d4379313af8)
1*638ce789Spooka	$NetBSD: TODO,v 1.3 2007/07/19 07:48:10 pooka Exp $
21a07ce53Spooka
31a07ce53SpookaDocument some possible user-visible changes that may take place.
41a07ce53SpookaFor a complete list, please dump my brain and excavate.
51a07ce53Spooka
61a07ce53Spooka  * figure out what do to with struct vattr, maybe introduce some
71a07ce53Spooka    vattr-like puffs-specific structure (translation costs?) instead
81a07ce53Spooka    of direct exposure
91a07ce53Spooka
101a07ce53Spooka  * make puffs_node opaque outside the library
111a07ce53Spooka
121a07ce53Spooka  * make it possible to cache symlink names and getattr results in
131a07ce53Spooka    the kernel ... although I'm not as critically concerned with the
141a07ce53Spooka    kernel caching as I am with userlevel caching
151a07ce53Spooka
161a07ce53Spooka  * try to implement a kernel policy for VOP_ACCESS, it's called
171a07ce53Spooka    very very often - but this requires some kernel caching
181a07ce53Spooka
191a07ce53Spooka    + also try to figure out how to implement it in cases where it's
201a07ce53Spooka      more difficult to do, e.g. how can we know readdir on sshfs will
211a07ce53Spooka      fail without actually trying to read the directory?  If we fail
221a07ce53Spooka      readdir itself, it's treated as success
231a07ce53Spooka
241a07ce53Spooka  * implement file system layering .. this will most likely bring
251a07ce53Spooka    massive changes to how the ops vector is handled, for instance.
261a07ce53Spooka    pcc/pu division should stay quite like the way it is now, but
271a07ce53Spooka    maybe there will be layer specific ops.
281a07ce53Spooka
291a07ce53Spooka  * make puffs more like kernel vfs - or make kernel vfs more like puffs
301a07ce53Spooka
311a07ce53Spooka  * decide what to do about setback operations.  they kind of violate
32*638ce789Spooka    the transparency of FAF for op handling
33*638ce789Spooka
34*638ce789Spooka  * remove flags parameter to puffs_init and replace with something
35*638ce789Spooka    more generic
361a07ce53Spooka
371a07ce53Spooka  * fix incoming requests to not require memcpy with continuations
381a07ce53Spooka    (not user-visible?)
391a07ce53Spooka
401a07ce53Spooka  * make continuations play with libpthread, lib/36011 (not user-visible?)
411a07ce53Spooka
421a07ce53Spooka  * clean up the request dispatching / continuation code (not user-visible?)
43