Commit Graph

368 Commits

Author SHA1 Message Date
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
mbalmer
124961627e s/the the/the/ 2009-11-22 18:40:26 +00:00
pooka
2a93cba43c In getgroups(), copy only up to the number of supplementary groups
that actually exist.
2009-11-20 14:23:54 +00:00
pooka
d33c69eb5f bump minor for puffs_setmntinfo() 2009-10-18 20:26:33 +00:00
pooka
f0d8515717 include some headers we use 2009-10-18 20:14:06 +00:00
pooka
0f699dcf1d Make it possible to supply parameters to puffs_init() later (but
before puffs_mount()).
2009-10-18 19:09:20 +00:00
pooka
75008bfc31 Dispatch puffs_node_abortop().
Note: We use the storage of puffs_cache_write from puffs_ops for
this purpose.  It's not issued by the kernel and hence currently
unused, and this saves us from the trouble of bumping the lib major
version.
2009-10-17 23:19:52 +00:00
pooka
eea7b3ade4 Add some comments on how to act when major is bumped the next time. 2009-10-17 21:36:02 +00:00
wiz
4dfd7ed6ff No Pp needed before El. 2009-05-13 22:42:31 +00:00
wiz
332088ae2e New sentence, new line. 2009-04-11 16:48:53 +00:00