pooka
b599bb507d
* do the l-variations of syscalls, since some nodes are symlinks
...
* truncate only regular files to set size
* do the chmod()-dance for cache flush to now write-protected files
until I can think of a nicer way to solve this
2007-01-11 14:59:35 +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
14b3edf81b
* don't chdir in possible daemon() call for the benefit of file systems
...
which specify a relative path as the root
* if (buildpath), build link source full pathname for the duration of
the operation
2007-01-10 23:02:50 +00:00
pooka
2811d45fdd
Be less shy about the default stack size, it's a only virtual memory space.
...
TODO: put a guard page at the end
2007-01-10 20:11:04 +00:00
pooka
71ddd8df08
rename name cache invalidation interface to be in sync with the
...
kernel operation names, i.e. contain "namecache" instead of just "name"
2007-01-09 18:19:01 +00:00
pooka
03a190dc22
lib interface for invalidation routines
2007-01-09 18:15:08 +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
f70a3c8c19
* inform kernel of our version
...
* homegrown lib ABI check (to avoid bumping major a ludicrillion times
before reaching stability)
2007-01-02 15:53:05 +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
alc
1a0e3f4a48
CID4360: don't leak `buf' upon return
...
ok pooka@
2006-12-14 18:15:59 +00:00
pooka
49df5bfc7b
outline & export code for interfacing with kernel GET/PUT requests
2006-12-07 23:15:20 +00:00
pooka
24fb4d5d8c
g/c out-of-date comment
2006-12-07 17:39:54 +00:00
pooka
43d8340ec6
support mmap
2006-12-07 16:59:14 +00:00
pooka
79fa3dd2c2
cleanup generated stuff from comments
2006-12-07 16:13:51 +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
a0eb335104
adapt to kernel change:
...
Allow multiple requests to be transferred in each GET/PUTOP
2006-12-05 23:04:21 +00:00
pooka
b98361ea36
sauce catchup
2006-12-01 15:31:25 +00:00
pooka
0d5746a9ac
PUFFSFLAG -> PUFFS_FLAG to be consistent with the kernel
2006-12-01 12:50:06 +00:00
pooka
465f49d71b
build & send implemented operations list to kernel
2006-12-01 12:38:11 +00:00
pooka
d4280e60eb
update with reality
2006-11-30 05:53:34 +00:00
pooka
c145fb5a17
summon daemon(3) in mainloop unless the nodaemon flag is given
2006-11-30 05:37:48 +00:00
pooka
c9aa28f463
* document open, close and access
...
* nomenclature improvements
2006-11-23 17:45:11 +00:00
pooka
4b5bf45935
const coherence
2006-11-23 16:44:28 +00:00
pooka
194d17d824
mode_t to enum vtype conversion
2006-11-21 23:11:09 +00:00
wiz
30ef64a953
Some mdoc and grammar nits.
2006-11-19 00:11:21 +00:00
pooka
d69d91cf3e
* call statvfs() at mount() time, pass that info along
...
* start is gone
2006-11-18 12:40:35 +00:00
pooka
a0e314dc77
shuffle flags a bit
2006-11-17 17:48:32 +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
pooka
c025c6ae8f
add note to BUGS about the questionable nature of puffs_node
2006-11-13 21:09:16 +00:00
pooka
c3f04e4e04
sync with change to lookup
2006-11-13 21:06:16 +00:00
pooka
80ce20607e
* catch up with kernel changes
...
* better error handling when mounting
2006-11-09 13:11:01 +00:00
pooka
b8a1eae019
initial documentation for the puffs library interface
2006-11-09 01:30:15 +00:00
pooka
010234739c
* support FAF (Fire-And-Forget) class operations
...
* adapt to new lookup
2006-11-07 22:10:53 +00:00
pooka
1fc270ecf0
pass rdev for specfs support
2006-10-26 22:53:01 +00:00
pooka
bda8cd7266
handle PUFFS_VN_INACTIVE
2006-10-25 18:15:50 +00:00
pooka
c643be45eb
dump correct name for vfs operations
2006-10-23 16:53:17 +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
christos
7ef97c92be
use portable prints
2006-10-23 03:10:09 +00:00
pooka
718426155f
still check for array bounds, fix off-by-one
2006-10-23 01:36:13 +00:00
christos
bc7a8f1f3d
fix a lint warning.
2006-10-23 01:23:42 +00:00
christos
b6f6a56052
pass lint; fix install.
2006-10-23 00:22:24 +00:00
dogcow
8f7efdd62a
add the .include <bsd.own.mk>, so .d and .o files don't end up in the CWD.
...
remove INCDIR=/usr/include, as my leenooks system doesn't have puffs .h files.
2006-10-22 23:51:37 +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