Commit Graph

18 Commits

Author SHA1 Message Date
pooka
ffe0a01441 Instead of supplying a plain pid, supply an abstract struct puffs_cid *,
which can currently be used to query the pid and lwpid.
2007-07-01 17:22:13 +00:00
pooka
f8326bf98e Move puffs to a two clause license where it already isn't so. And
as agc pointed out, even files with the third clause were already
effectively two clause because of a slight bug in the language...
2007-06-06 01:54:59 +00:00
pooka
1ba4b810d1 implement counterpart of vaccess() 2007-03-20 18:28:08 +00:00
pooka
2df275c4cd va->va_mode doesn't contain the full argument to the mknod() system call,
so introduce puffs_addvtype2mode() and use that in null.c to generate the
proper syscall argument
2007-03-16 08:14:49 +00:00
pooka
1427bda45d generic node reclaim, which just puts a puffs_node 2007-02-15 12:51:24 +00:00
pooka
e639bec8c2 Add preliminary code for a nullfs layer, which can be used to mount
a directory hierarchy to another point, just like with the kernel
nullfs.  This is not really a layering scheme yet, but it should
evolve into one.  Currently it can just be used to do 1:1 mapping.
2007-01-11 01:01:55 +00:00
pooka
7cc096d8ec * get rid of the mount callback; it's no great surprise to the
server that it needs to mount the file system backend if it wants
  to call mount
* provide some options for getmntopts(), assume that callers will parse
  command line (or fstab) args
* reorganize the puffs_cc interface just a bit, preparing for a bigger
  revamp later
2007-01-06 18:22:09 +00:00
pooka
184a7d787c checkpoint some experimental work-in-progress, namely:
Add support for having multiple outstanding operations.  This is done
by exposing enough interfaces so that it is convenient to have the
main event loop in the implementation itself and by providing a
continuation framework for convinient blocking and rescheduling.

works fine, but will undergo further cleanup & development
2006-12-29 15:28:11 +00:00
pooka
55544f739a rototill the operation callbacks: unify the ops under struct puffs_ops
and namespace them
2006-12-07 10:53:21 +00:00
pooka
194d17d824 mode_t to enum vtype conversion 2006-11-21 23:11:09 +00:00
pooka
a40549faca namespace previous change under puffs_vfsnop to avoid confusions 2006-11-14 11:45:03 +00:00
pooka
2d9b770ec5 implement unmount, sync and statvfs as dummies for file system which
couldn't care less about implementing them
2006-11-14 11:23:44 +00:00
mrg
6bb0c03185 use casts to properly truncate some assignments. (sparc64 gcc complained.) 2006-10-23 03:18:30 +00:00
christos
d6a795f6a8 put back the comparison in a lint friendly way to appease pooka. 2006-10-23 03:13:13 +00:00
dogcow
acba3dfe4b comment out comparison of unsigned expression to >= 0 2006-10-23 03:11:53 +00:00
pooka
718426155f still check for array bounds, fix off-by-one 2006-10-23 01:36:13 +00:00
christos
b6f6a56052 pass lint; fix install. 2006-10-23 00:22:24 +00:00
pooka
1635cf06bc add libpuffs - the userspace programming interface for puffs
This work was initially started and completed for Google SoC 2005
and tweaked to work a bit better in the past few weeks.  While
being far from complete, it is functional enough to be able and
stable to host a fairly general-purpose in-memory file system in
userspace.  Even so, puffs should be considered experimental and
no binary compatibility for interfaces or crash-freedom or zero
security implications should be relied upon just yet.

The GSoC project was mentored by William Studenmund and the final
review for the code was done by Christos.
2006-10-22 22:52:21 +00:00