Commit Graph

39 Commits

Author SHA1 Message Date
pooka
4d243cfc9d use generic getattr 2007-12-19 14:01:30 +00:00
pooka
4462e9454f use puffs_daemon() instead of daemon() 2007-11-16 18:39:01 +00:00
pooka
ec865a5b29 Actually, daemonize the file servers before mounting. I might require
at some point that the local protocol handler does not change after
the file system has been mounted.
2007-11-05 17:54:31 +00:00
pooka
4b0f2948e2 Pull the daemonizing code out of the library mainloop into the file
servers.  Calling daemon() (i.e. fork()ing) inside a library can
cause nice surprises for e.g. threaded programs.  As discussed with
Greg Oster & others.
2007-11-05 17:48:17 +00:00
pooka
de3b90f940 add testing option -l, which causes the flush of the page cache of
the node under lookup (if found)
2007-10-11 23:03:00 +00:00
pooka
059aa1fbbc fix usage. from Karl Jenkinson 2007-09-05 17:15:35 +00:00
pooka
5b593f2aeb require standard mount_foo bar /path usage, where bar is ignored here 2007-08-09 21:54:27 +00:00
pooka
e4b63c41f0 implement node_mmap and allow to specify accepted mappings on command line 2007-07-27 08:29:10 +00:00
pooka
b4d2a683de -m for setting maxreqlen 2007-07-19 07:58:56 +00:00
pooka
08db7d7534 * add mntfromname parameter to puffs_init()
* set it in file servers
2007-07-17 11:34:51 +00:00
pooka
3c01554a05 dtfs -f for PUFFS_KFLAG_LOOKUP_FULLPNBUF 2007-07-01 22:59:09 +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
ae34899ec3 make getopt() actually accept -t also 2007-06-05 12:20:35 +00:00
pooka
1d9d9332f5 Use SETBACK_NOREF instead of SETBACK_INACT to control node removal.
Avoids one round of inactive (wheee!).
2007-05-18 15:53:07 +00:00
pooka
48d5a49e1f "support" vop_poll enough for testing purposes. In short, yield every
poll request for a few seconds before returning.
2007-05-18 13:55:21 +00:00
pooka
9550017a8d Adapt to changes with mounting file systems.
Introduce a parameter -r to control the root node type.  For example
"dtfs -r 'lnk /etc' /puffs" mounts dtfs with the root node as a
symbolic link to /etc:

jojonaru# ./dtfs -r 'lnk /etc' /puffs
jojonaru# ls -l /puffs
lrw-rw-rw-  1 root  wheel  4 May 17 14:06 /puffs -> /etc
jojonaru# cd /puffs
jojonaru# pwd
/etc
jojonaru#

Extra credit for figuring out how to unmount this file system with
umount(8).

Likewise, "dtfs -r 'chr 2 12' /puffs" makes /puffs (i386) /dev/zero etcetc.
2007-05-17 14:10:13 +00:00
pooka
d583f4a1ec Unmount frequently requires some test code, so define it here as
a dummy instead of libpuffs to make plugging the test code in easier.
2007-05-07 17:22:50 +00:00
pooka
2893a07834 Default to inactive-on-demand, use inactive setback to request inactive
to be called for a removed node (for unix open file semantics).
2007-05-07 17:18:50 +00:00
pooka
2878c03588 mount with write-through page cache if command line -t is given 2007-04-22 18:03:18 +00:00
pooka
558edb1195 update usage 2007-04-16 13:52:38 +00:00
pooka
b173dac692 adapt to kernel changes with file handles 2007-04-16 13:06:39 +00:00
pooka
37dd7942fc Instead of keeping on adding parameters to puffs_mount(), make it
only take the bare essentials, which currently means removing
"maxreqlen" from the argument list (all current callers I'm aware
of set it as 0 anyway).  Introduce puffs_init(), which provides a
context for setting various parameters and puffs_domount(), which
can be used to mount the file system.  Keep puffs_mount() as a
shortcut for the above two for simple file systems.

Bump development ABI version to 13.  After all, it's Friday the 13th.
Watch out!  Bad things can happen on Friday the 13th. --No carrier--
2007-04-13 13:35:46 +00:00
pooka
3e65ff17b5 support nfs exporting dtfs 2007-04-11 21:07:54 +00:00
pooka
6d03fb0803 add support for permissions and file ownership 2007-03-20 18:30:30 +00:00
pooka
f235a8d60c Add very uncorrect "suspend fs if server gets SIGUSR1" test for fs
suspension (hey, it's a test file system after all .... )
2007-01-26 23:02:05 +00:00
pooka
9a25a94ef7 adapt to libpuffs changes 2007-01-15 00:41:09 +00:00
pooka
a67e4ce37f * do mount as a forward operation instead of a callback
* process -o args for mount
2007-01-06 18:25:19 +00:00
pooka
6a42c9c838 apply wide-angle rotollation beam to match libpuffs changes 2006-12-29 15:37:06 +00:00
pooka
fe53828f70 use command line flags to set various options 2006-12-07 22:49:04 +00:00
pooka
fb5e346800 counter-rototill for libpuffs change: unify all callback ops under
a single structure
2006-12-07 10:54:29 +00:00
pooka
69dbc08863 update flag names 2006-12-01 12:50:52 +00:00
pooka
496f59a99f adapt to flags parameter for puffs_mainloop() 2006-11-30 05:38:54 +00:00
pooka
4d33479aef * no more fsid
* no more start()
2006-11-18 12:41:06 +00:00
pooka
ae357b8c97 adapt to libpuffs namespace change 2006-11-14 11:45:53 +00:00
pooka
f173564d8b use generic dummies for sync and unmount 2006-11-14 11:27:35 +00:00
pooka
d666e1c0f4 play catchup with the rest of the world, i.e. shuffle stuff a bit 2006-11-09 13:11:52 +00:00
pooka
0ba65a4c32 support mknod, essentially makes it possible to run dtfs as /dev 2006-10-26 22:53:25 +00:00
pooka
f9b7e6e829 Only nuke directory entry in remove and clear data completely only
when the node is reclaimed.  This makes dtfs preserve unix open file
semantics.
2006-10-25 18:18:16 +00:00
pooka
69fe36da66 dtfs (*): a very simple in-memory file system providing an example on
how to use libpuffs

this is not installed into the binary distribution just yet

*) you can call it either "Delectable Test File System" or
"Detrempe File System", depending on what you think will result
in more puffing
2006-10-23 00:44:53 +00:00