Commit Graph

319 Commits

Author SHA1 Message Date
wiz
332088ae2e New sentence, new line. 2009-04-11 16:48:53 +00:00
joerg
e112b60607 Fix markup. 2009-04-11 15:37:12 +00:00
joerg
326820b20c Fix missing quote. 2009-04-11 15:36:22 +00:00
pooka
9b83cef174 dump readdir offset 2009-04-06 20:47:17 +00:00
pooka
afc5bcc1fa * dump op-specific return info before the generic one
* dump readdir response values
2009-04-06 14:45:11 +00:00
pooka
229bf1afc9 Remove the paragraph saying interfaces will change without warning.
Note that a stable version of puffs first appeared in NetBSD 5.0.
2009-02-20 14:26:56 +00:00
christos
46edb91e9f bump shared libraries. 2009-01-11 03:07:47 +00:00
lukem
bbdbf3e294 fix some sign comparison warnings 2009-01-08 02:28:08 +00:00
lukem
5fcf39a9f8 Cast a value to time_t (not unsigned) when comparing to timespec tv_sec 2009-01-08 02:19:48 +00:00
christos
2d378f1d33 fix for dev_t 64 bits. 2008-12-28 22:45:05 +00:00
dsl
e8915d2e05 Actually we need 'long int' to avoif a stupid 'truncating long to int'
warning.
2008-12-13 11:53:25 +00:00
dsl
abd4a7f6d0 Change type of 'n' to 'int' so that it can be printed with %d.
The domain of the value is [-1..sizeof (int)] so a type of 'int' is fine.
2008-12-13 11:48:46 +00:00
pooka
a75f7c7343 Close write-end of daemonpipe in reader to get EOF if the writer
goes awol.
2008-12-12 19:56:12 +00:00
pooka
33a0d776c1 Add puffs_cancel(), which allows to back down after puffs_init()
and before puffs_mount().
(this should actually be integrated with puffs_exit(), but that
routine is currently so non-sensible that I didn't bother now)
2008-12-12 19:45:16 +00:00
pooka
41f31dac6d add:
puffs_setspecific(pu, private)
	Can be used to set the specific data after the call to
	puffs_init().
2008-12-12 18:59:53 +00:00
pooka
a947a86fee support:
a) readdir cookies and eofflag
b) file handle routines.

   File handle routines are REALLY ugly and are not stable, i.e.
   the file handle will be lost if the file server goes byebye.
   They probably should be redone to not use getfh(), but for nullfs
   I wanted to make them the same as when the file system is accessed
   without the null layer.  Well, turns out it doesn't pass anyway
   since the kernel adds the fsid tags for fhandle_t.  Anyway, it's
   useful for some limited hacking purposes, so I'll commit this
   since it works .. kinda.
2008-11-26 14:02:23 +00:00
pooka
e61394a6b8 i'm almost certain that puffs_cooie_t is supposed to be puffs_cookie_t 2008-11-25 11:49:08 +00:00
pooka
462f2a64a0 note that puffs_daemon() must be called *before* puffs_mount() 2008-11-14 13:27:24 +00:00
pooka
e489c3824a fix typographical snafu 2008-11-14 13:10:13 +00:00
wiz
91eff5cc84 Drop trailing whitespace. 2008-09-06 15:43:27 +00:00
pooka
8591ab211b Add AsiaBSDCon 2008 paper to SEE ALSO. 2008-09-06 12:39:49 +00:00
pooka
1acae5309f Fix double free when i/o descriptor is violently closed. Bug was
introduced in rev 1.27.

fix provided by Taylor R Campbell in lib/39353
2008-09-04 15:30:36 +00:00
pooka
ff42332733 Replace void * by puffs_cookie_t where appropriate. No functional change. 2008-08-12 19:44:39 +00:00
pooka
71043aa4cb clear cached puffs_cc's in puffs_exit() 2008-08-11 16:23:37 +00:00
pooka
7602ecfa8f * make sure we come out of mainloop in the main context. otherwise in
certain cases the server would jump to hyperspace when unmounted
* sprinkle some debug prints
2008-08-11 15:59:01 +00:00
wiz
67ff3d242e Punctuation markup nit. 2008-05-25 19:38:21 +00:00
wiz
682d8063bf Remove trailing whitespace. 2008-05-25 19:38:14 +00:00
pooka
73bad8cbdb Reserve enough memory for ops which return more than they receive. 2008-03-20 15:28:03 +00:00
pooka
04973f7441 When reading a request from the kernel, only allocate as much memory
as needed to read a request instead of the maximum message size.
Insanely enough, this makes "cheap backend I/O" file systems such
dtfs and sysctlfs perform 10-30% better (depending on the average
size of incoming requests).
2008-01-29 14:54:08 +00:00
pooka
98d94502be whoops, bump date - pretty significant change 2008-01-29 10:15:50 +00:00
pooka
be5ed87c1e Fix a weirdosity in the framebuf gotfb interface: hand buffer
ownership to the called routine instead of keeping it.  This means
that callees must now destroy the buffer once they are done with it.
2008-01-29 10:07:29 +00:00
pooka
704ded372f Don't add asserts between testing and commit - especially not
if you're going to write "assert(foo = 0)"
2008-01-28 18:51:03 +00:00
pooka
7c2ddc1d53 Bump version for lazy contexts (probably not necessary, but it's
been a long time since I bumbed the version ;)
2008-01-28 18:42:09 +00:00
pooka
d1d05d65b9 Implement lazy contexts for file systems using puffs_mainloop().
Previously each request was executed on its own callcontext and
switched to every time the request was being processed.  Now requests
borrow the mainloop context and switch only if/when they yield.
This takes two context switches away from a file system request
bringing down the typical amounts 2->0 (e.g. dtfs) and 4->2 (e.g.
psshfs).

The interfaces for manually executing requests changed a bit:
puffs_dispatch_create() and puffs_dispatch_exec() must now be used.
They are not tested, as nothing in-tree wants them and I doubt
anyone else is really interested in them either.

Also do some misc code cleanup related to execution contexts.  The
"work-in-progress checkpoint" committed over a year ago was starting
to look slightly weed-infested.
2008-01-28 18:35:49 +00:00
pooka
e9ff674b00 For operations with a target (remove, rmdir, link), print the
target cookie.
2008-01-27 00:29:24 +00:00
pooka
c142350bc6 Fix fakecc case.
Noticed by Pavel Jirout on current-users
2008-01-17 17:43:14 +00:00
pooka
9f5abca72f Comment out the puffs_executor hacks for now, they have races.
The issue should be solved in another fashion anyway.
2008-01-16 23:17:43 +00:00
pooka
614c59fcb2 Cache a number of execution contexts instead of re-initializing
them every time.  Speeds up pure in-memory file systems such as
sysctlfs or dtfs quite a bit.  For actual I/O-workhorses the result
is of course less tasty.
2008-01-16 21:29:59 +00:00
pooka
3a433fe13b Use PROT_NONE page to protect bottom of stack from overrun 2008-01-16 00:29:42 +00:00
pooka
d7412d56b1 Introduce PUFFS_STACKSIZE_MIN to avoid overloading 0 and getting
a warning from the library when really wanting to say "just the
minimum, please".
2008-01-14 13:57:26 +00:00
pooka
1309a27c5e liberate gas-huffin crack-puffin' assert 2008-01-08 00:22:31 +00:00
pooka
cf16702d95 fix pasto 2008-01-02 18:11:01 +00:00
pooka
b181a1a237 Also pass fromname in the "distributed" case. 2008-01-02 17:57:51 +00:00
pooka
636e495315 Provide some transparent "support" for "distributed" file systems.
If the env variable PUFFS_COMFD is set, the descriptor value
contained in it is used for communication instead of opening
/dev/puffs and doing mount(2).

This feature is obviously very undocumented and should not be used
without adult supervision.
2008-01-02 14:27:42 +00:00
pooka
38a05cc07d Flesh this out a bit more. Unfortunately it's still unfinished,
and I don't know when I'll get a chance to finish it.
2007-12-27 18:50:42 +00:00
pooka
c3b193c57f Add a public interface for setting a cookie mapper. 2007-12-25 20:38:01 +00:00
pooka
80ecfb9fc9 * dump r/w return resid
* fix RV dump order to be more logical
2007-12-25 20:36:53 +00:00
pooka
a8e13cb420 Add generic getattr routine. 2007-12-19 14:01:16 +00:00
pooka
08c7b6138e * nuke puffs_cc_get{specific,usermount} for good
* move prototypes for puffs_docc and puffs_dopufbuf into the
  public header, as they are should be exposed
2007-12-16 20:02:57 +00:00
pooka
369391b0a0 Clarify that link_target in node_symlink is null-terminated. 2007-12-16 19:10:58 +00:00