pooka
2b8177d9fc
Step 1 in moving towards a general-purpose eventloop: allow the
...
framebuf event loop to take n i/o fd's as parameters and also allow
dynamic add/remove of fd's. (not tested except for one fd, but more
changes coming soon)
2007-05-11 16:22:38 +00:00
christos
f8178c49fa
use syslog_r, from OpenBSD
2007-05-10 18:44:24 +00:00
pooka
7806d3dfc4
assert that yield/continue is done only with a real continuation
2007-05-10 12:36:44 +00:00
pooka
4966e1c1de
Add some kludges to be able to execute requests on the regular program
...
stack instead of the continuation stack. This is for lib/36011, where
pthread gets confused since we aren't running on the regular stack.
I'm not really sure which direction to go to with this quite yet, so
make the hack hard to enable on purpose. The whole request dispatch
code needs cleaning anyway.
2007-05-10 12:26:28 +00:00
he
e085b08462
The sl_delete function needs namespace protection added here as well.
2007-05-10 11:52:28 +00:00
pooka
4862309053
Remove the puffs_usermount argument from puffs_req_handle(). It can
...
be found from the other arguments and this way puffs_req_handle() is
more symmetric with the other puffs_req() routines.
2007-05-09 18:36:52 +00:00
pooka
19db57c596
List all current ways to write a file system. Also, add a reference
...
to puffs_req(3) for the manual operation case.
2007-05-09 18:24:11 +00:00
pooka
a1388b4c53
Return 0 from puffs_mainloop() if no error occurs.
...
pointed out by Phil Nelson
2007-05-09 18:23:12 +00:00
christos
36a3340867
PR/36299: Greg Woods: Add namespace protection for sl_delete.
2007-05-09 17:10:29 +00:00
pooka
e5a894536c
document PUFFS_KFLAG_WTCACHE and PUFFS_KFLAG_IAONDEMAND
2007-05-09 13:54:08 +00:00
pooka
06dd177014
document puffs_setback()
2007-05-09 13:46:16 +00:00
pooka
7faf2bccbe
Add puffs_setback(), which can be used to set setbacks for nodes before
...
the call returns to the kernel. Currently it can be called only from
open(), mmap(), remove() and rmdir(). (But that might change)
2007-05-07 17:16:07 +00:00
pooka
0a36778e8f
Xr puffs_framebuf
2007-05-06 13:56:16 +00:00
pooka
bbf8b7cf94
document puffs_framebuf
2007-05-06 13:56:03 +00:00
pooka
4226bd8b40
implement the conveniently-already-prototyped puffs_framebuf_remaining(),
...
which is just shorthand for tellsize() - telloff()
2007-05-06 10:54:41 +00:00
pooka
a5f3fa93dc
Remove the user-specified argument for the framebuf loop callback.
...
It can be generated through other means if it is desired.
2007-05-06 10:21:45 +00:00
ad
9ccfa416c9
Remove pointless AUTHORS sections.
2007-05-05 19:16:01 +00:00
pooka
bb0de0a878
add stubby version of puffs_framebuf manual page. proper one
...
forthcoming to an internet near you Real Soon Now(tm)
2007-05-05 16:09:16 +00:00
pooka
b223c403fc
Add puffs "frame buffers", which are an abstraction of the buffering
...
and event handling mechanisms required in file servers with blocking
I/O backends. puffs_framebuf is built on the concept of puffs_cc
and uses those to multiplex execution where needed.
File systems are required to implement three methods:
* read frame
* write frame
* compare if frame is a response to the given one
Memory management is provided by puffs_framebuf, but the file
systems must still, of course, interpret the protocol and do e.g.
byte order conversion.
As always, puffs_framebuf is work in progress. Current users are
mount_psshfs and mount_9p.
2007-05-05 15:48:18 +00:00
rmind
ed3e2de27c
Add aio_cancel(3), aio_error(3), aio_read(3), aio_return(3), aio_suspend(3),
...
aio_write(3) and lio_listio(3) man-pages for asynchronous I/O.
Taken from FreeBSD with modifications for NetBSD implementation.
wizd, please! :)
2007-05-04 22:37:33 +00:00
agc
76c020111a
...and include fuse_opt.h in the correct place.
2007-05-03 21:13:25 +00:00
agc
363bf2c052
Implement fuse_setup(), and fuse_teardown() - necessary for the python
...
bindings for refuse.
2007-05-03 21:02:54 +00:00
agc
a2b7c5e9b3
FUSE includes fuse_opt.h from fuse.h, albeit indirectly, via fuse_common.h.
...
Refuse doessn't have a fuse_common.h, so include fuse_opt.h explicitly
from fuse.h. To avoid circular dependencies, don't include fuse.h
from fuse_opt.h.
This means that we no longer have to modify packages which use the argument
and option parsing routines to include fuse_opt.h.
2007-05-03 20:58:22 +00:00
ad
e7c35aabc9
Remove obsolete comment.
2007-05-02 21:54:16 +00:00
pooka
80dbf44035
In case a fuse fs hands an stbuf with an inode number 0 to the
...
readdir filler, fake the inode number. Our readdir() doesn't show
entries with inode number 0.
per discussion with Stephen Borrill
2007-05-02 18:05:54 +00:00
pooka
f5ef068cda
use PUFFS_FLAG_HASHPATH
2007-05-01 15:58:25 +00:00
pooka
5fac7361cf
Introduce PUFFS_FLAG_HASHPATH, which for PUFFS_FLAG_BUILDPATH file servers
...
creates a hash of the node's path into po->po_hash to avoid a full pathcmp
every time.
2007-05-01 15:58:00 +00:00
dsl
7effc1a79d
Set kp2p->p_ru = 0 in the kproc2 structure.
...
It was only ever non-zero for zombies, and now doesn't exist.
The 'pstats' field has been valid for zombies for a while (it isn't in
the uarea any more).
Fixes part of build breakage.
2007-05-01 06:58:08 +00:00
rmind
0994dd0691
- Create sysctl nodes for AIO.
...
- Add POSIX defined system variables and constants of AIO_LISTIO_MAX and
AIO_MAX values. Both with _POSIX_ASYNCHRONOUS_IO, provide them in
sysconf(3) and getconf(1) interfaces.
- Clean up sysconf(3) for handling sysctl nodes dynamically.
2007-05-01 01:01:25 +00:00
rmind
67d703cf25
Import of POSIX Asynchronous I/O.
...
Seems to be quite stable. Some work still left to do.
Please note, that syscalls are not yet MP-safe, because
of the file and vnode subsystems.
Reviewed by: <tech-kern>, <ad>
2007-04-30 14:44:28 +00:00
msaitoh
8ce1f4fff2
fix typos
2007-04-29 20:23:34 +00:00
tnozaki
6a1c27dd91
fix typo.
2007-04-24 15:42:08 +00:00
pooka
9601d4d304
use more accurate flag masking
2007-04-22 18:02:44 +00:00
pooka
5ad485727c
assert that the file server doesn't try to return more cookies than
...
it was supposed to
2007-04-20 08:28:53 +00:00
pooka
89a0f35e6c
improve descriptions and markup
2007-04-19 21:03:00 +00:00
pooka
5d86889ea0
add puffs_cc_getspecific(pcc), which is shorthand for:
...
puffs_getspecific(puffs_cc_getusermount(pcc))
2007-04-19 14:45:03 +00:00
matt
ec31ca5aa4
Mark some internal libm symbols as hidden
2007-04-19 00:37:20 +00:00
pooka
7cfb5f2d40
fix readdir prototype
2007-04-18 20:37:05 +00:00
matt
ae3ada32fe
Make the internal __libm_dsqrt_r6 have a fake entry mask of 0 to make
...
ld.elf_so.
2007-04-18 04:46:13 +00:00
heinz
9e9284adba
Fixed spelling error.
2007-04-17 21:11:47 +00:00
pooka
d17f97ea42
* describe fhtonode, nodetofh and suspend
...
* update description of readdir to match reality
2007-04-17 13:11:05 +00:00
pooka
eeff4f8efe
Introduce PUFFS_STORE_DCOOKIE, which stores a directory cookie for a
...
given offset iff the directory read in question wants cookies.
2007-04-17 11:42:14 +00:00
pooka
f9d2f485d4
improve markup and descriptions
2007-04-17 10:14:27 +00:00
agc
1e1fbd91da
The error return code from fuse_opt_add_arg() and fuse_opt_insert_arg() is
...
actually -1, not 1. Fix the broken sewing machine, and make it sew.
2007-04-17 06:34:48 +00:00
xtraeme
2a9a16f24b
Forgot to move the prototype in a comment to the correct place.
2007-04-17 00:25:21 +00:00
xtraeme
5ebefbd7c9
Sync comments with reality.
2007-04-17 00:23:23 +00:00
xtraeme
b1f8749808
Wrap long lines.
2007-04-17 00:20:52 +00:00
pooka
aaf5af07be
Move file system and node callbacks into their own manual page.
...
Improve markup and descriptions a bit (not completely finished yet).
2007-04-16 19:16:02 +00:00
pooka
0d032531d1
document new interfaces
2007-04-16 16:37:02 +00:00
pooka
d1667bb48c
alloc to set flags when setting fhsize
2007-04-16 13:04:49 +00:00