Commit Graph

377 Commits

Author SHA1 Message Date
riastradh
dade315727 Fix error reporting in puffs_framev_enqueue_waitevent and callers.
ok christos
2011-12-19 15:36:26 +00:00
skrll
79fb68b068 Deal with __MACHINE_STACK_GROWS_UP machines.
constify the other psize while I'm here.

Thanks to Christos for looking.
2011-12-06 21:15:39 +00:00
manu
154cec5236 Rollback previous change as it breaks autmates tests 2011-11-25 15:02:02 +00:00
manu
bd5d68a6d1 Documentation fix
Evgeniy Ivanov <lolkaantimat@gmail.com>
2011-11-24 01:59:25 +00:00
manu
77ac17e5c3 Remove files specified in pcn.
When remove files using name from pnode, another link on this file
can be unlinked. E.g. "touch 1; ln 1 2; rm 2" will remove file named
"1". Thus puffs_null_node_remove should remove directory entry which
name is provided by pcn (as said in puffs_ops.3). Caller should
provide appropriately initialized pcn.

From Evgeniy Ivanov <lolkaantimat@gmail.com>
2011-11-24 01:58:52 +00:00
manu
c068d4996c Remove pnode of overwritten file.
When puffs_null_node_rename() overwrites existing file, its pnode
must be removed, because src pnode already represents this file.

From Evgeniy Ivanov <lolkaantimat@gmail.com>
2011-11-24 01:55:33 +00:00
chs
81742ac3ab fix crashes caused by using the results of getcontext()
after the caller returns.
2011-11-14 01:27:42 +00:00
yamt
9647763d4a puffs_cc_yield: fix a cc leak. PR/44679 2011-11-02 16:43:04 +00:00
joerg
9eba1e423c Use __dead 2011-08-29 20:41:06 +00:00
manu
be95d60797 Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the
filesystem in which format extended attribute shall be listed.

There are currently two formats:
- NUL-terminated strings, used for listxattr(2), this is the default.
- one byte length-pprefixed, non NUL-terminated strings, used for
  extattr_list_file(2), which is obtanined by setting the
  EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)

This approach avoid the need for converting the list back and forth, except
in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may
have requested EXTATTR_LIST_PREFIXLEN.
2011-07-04 08:07:29 +00:00
manu
4f82f2460e From Evgeniy Ivanov: puffs_node_readdir() should set eofflag to one, when
end-of-directory is reached.
2011-06-27 12:06:19 +00:00
manu
503fb643db Commit fix for misc/45029.
Approved by pooka@
2011-06-24 16:59:29 +00:00
mrg
493d341048 various build fixes for gcc 4.5. from chuq. XXX i'm not sure all of
these work properly wtf pointer aliasing, but there are no casts at
least...

the lib/libpuffs/puffs_priv.h is definately a real bug fix.

from chuq.
2011-06-20 09:11:16 +00:00
manu
7f87f63c56 Call advlock method if supplied 2011-05-03 13:16:47 +00:00
manu
7a675e4eab In node_lookup() ops, pcn->pcn_nameiop contains a NAMEI_* constant, not
PUFFSLOOKUP_*
2011-04-19 10:35:24 +00:00
yamt
5c50d59d8b puffs__cc_destroy: clear PCC_HASCALLER. the caller info is not
necessarily relevant to the next life of the cc.  this also fixes
the failure of the assertion in the next line.
2011-03-04 09:47:47 +00:00
pooka
aedd7db813 Support rest of file types in vtype -> s_ifmt 2011-02-17 17:55:36 +00:00
pooka
78bedf0f20 st_blocks is in units of DEV_BSIZE, not st_blksize.
from Derrik Pates
2011-02-17 15:41:34 +00:00
yamt
79d46db770 typo in a comment 2011-01-10 23:20:45 +00:00
pooka
33c6814d7a document abortop. part of PR kern/44208 2010-12-13 09:06:51 +00:00
pooka
248168affc Remove PUFFS_WITH_THREADS ifdef garbage, just use libc weak symbols. 2010-12-06 14:50:34 +00:00
pooka
65cdb57245 print to stderr instead of stdout 2010-08-20 16:35:05 +00:00
pooka
01e9b21900 Default f_namemax to MAXNAMLEN, mostly for initial statvfs struct
passed to kernel in mount.

XXX: there's currently no way for a file server to override the
one passed in mount.
2010-07-15 21:53:10 +00:00
pooka
e894ab517b Export the opid -> opstr tables (for outside debugging use). 2010-07-11 12:29:08 +00:00
pooka
54aeac7f90 unwhine lint 2010-07-06 21:58:18 +00:00
pooka
d8a0b8cdce stat mount target path only if we're actually goint to use it.
This avoids errors from the comfd case when the mount target does
not exist in our local namespace.
2010-07-06 18:22:20 +00:00
pooka
a6b3b71bb8 set time_t compat where necessary 2010-07-06 18:01:14 +00:00
pooka
afdc25dbdf When using the top secret PUFFS_COMFD model, write out size of the
puffs kernel args before the contents.  This allows parties which
have no clue about the contents to proxy the protocol easily.
2010-07-06 13:27:16 +00:00
pooka
0e05405bd1 Reenable pathconf now that the retval argument is register_t. 2010-06-07 11:22:36 +00:00
pooka
a784ae74af Make retval argument for pathconf a register_t to match VOP_PATHCONF.
This makes the size the same on 64bit archs.  Don't bother bumping
any version, since you'd have explicitly had to jump through some
hoops to use pathconf before.
2010-06-07 11:21:31 +00:00
pooka
a7bb34b4fd Actually, disable pathconf for a while longer: the retval needs a
little finetuning (not that everyone is jumping right to using it,
but fixing will have to wait until tomorrow, and who knows what
i'll forget during the night and how long it will eventually take).
2010-06-06 23:11:05 +00:00
pooka
aef13c83d0 signal pathconf in the vector of supported ops 2010-06-06 22:44:54 +00:00
pooka
33b074be7e add option string for no attribute cache
(foreseeing the odd event I might actually implement one some day)
2010-05-21 11:29:42 +00:00
pooka
335bcd0d3c mention extended attribute ops 2010-05-21 11:20:50 +00:00
pooka
c3be8a8cd5 * support extended attributes
* bump major due to structure growth
* add some spare space
* remove ABI sillyness
2010-05-21 10:50:52 +00:00
pooka
539062e7e1 adjust for protocol changes 2010-05-21 10:43:07 +00:00
pooka
651aab9fcd Don't try to print the names of messages we don't know about. 2010-05-21 08:46:14 +00:00
pooka
87467ad4b7 * fix typo
* fix "that's not supposed to be there" causing off-by-one in array
* make compile regardless of dev_t size
2010-05-20 13:07:28 +00:00
pooka
f6e5cf7c15 remove three years out-of-date comment 2010-05-19 12:16:45 +00:00
pooka
69381b7a05 fix a few pastos 2010-04-01 09:57:00 +00:00
pooka
b95be6c682 Add convenience routine puffs_unmountonsignal(), which does exactly that. 2010-01-12 18:42:38 +00:00
pooka
ffe194d485 Use typecast instead of ULL for a less whiny lint on LP64. 2010-01-07 23:03:26 +00:00
pooka
cf755ff393 Rewrite puffs_exit() in terms of the PUFFSOP_UNMOUNT kernel request.
Now server exit is a lot quite cleaner than previously.
2010-01-07 22:49:19 +00:00
pooka
0dd997522d Be slightly more forgiving about unknown operation types. 2010-01-07 22:46:11 +00:00
pooka
b3cd880417 Set high bit on server->kernel requests to better differentiate
between the direction of the request.
2010-01-07 22:40:11 +00:00
pooka
a63d44abdb Dump contents of struct vattr -- i never remember which members
the kernel passes when, so this helps tapping that info.
2010-01-07 20:47:47 +00:00
pooka
d0f464047a * make indentation a little less ridiculous
* note that interfaces provided by <puffsdump.h> are not stable and
  are to be used only for debug builds
* remove a few unimplemented/used dump interfaces
2010-01-07 18:09:07 +00:00
pooka
304a850cb9 fix typography 2010-01-04 22:04:50 +00:00
pooka
7431f4f63d Add an error handler which syslogs but does not abort() and make it
the default.  Most servers just shovel bits from their backend to
the kernel without checking the contents and dumping core in case
the backend gives garbage is a bit harsh.
2009-12-05 20:54:10 +00:00
pooka
689551bfdb Remove suspension support from here too. 2009-12-05 12:13:08 +00:00