Commit Graph

124 Commits

Author SHA1 Message Date
pooka 3626443e21 Move the Delectable Test File System from share/examples/puffs/dtfs
to tests/fs/puffs/h_dtfs.

No functional change (apart from adjusting the Makefile for test builds).
2010-07-06 14:16:44 +00:00
pooka 14959b2e66 Reinstate the inactive operation (mostly dummy). This makes -i
work again and henceforth makes it possible to test inactive.
2010-07-06 13:56:40 +00:00
pooka a3b4e31630 Use puffs_kernerr_abort as the error handler. 2009-12-05 20:54:40 +00:00
pooka 60c8f07a95 Remove no longer supported suspend code. 2009-12-04 13:43:28 +00:00
pooka 31a36acc43 puffs_setfhsize() in init 2008-11-26 14:03:48 +00:00
christos fc978808f9 fix more A0 2008-09-12 14:40:46 +00:00
pooka 5ed3fcda15 Add -p for presenting the directory listing in the original case. 2008-08-12 15:14:00 +00:00
pooka 4d243cfc9d use generic getattr 2007-12-19 14:01:30 +00:00
pooka 21913eabe5 Rototill.
Ok, ok, a few more words about it: stop holding puffs_cc as a holy
value and passing it around to almost every possible place (popquiz:
which kernel variable does this remind you of?).  Instead, pass
the natural choice, puffs_usermount, and fetch puffs_cc via
puffs_cc_getcc() only in routines which actually need it.  This
not only simplifies code, but (thanks to the introduction of
puffs_cc_getcc()) enables constructs which weren't previously sanely
possible, say layering as a curious example.

There's still a little to do on this front, but this was the major
fs interface blast.
2007-11-30 19:02:28 +00:00
pooka 6a3d9a187d Remove "puffs_cid" from the puffs interface following l-removal
from the kernel vfs interfaces.  puffs_cc_getcaller(pcc) can be
used now should the same information be desired.
2007-11-27 11:31:17 +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 ceb690c88e when removing file, free last block also 2007-10-11 13:50:42 +00:00
pooka 90900b0311 dtfs memsets all allocated block content to 0 immediately, so to
avoid wasting unbelievable amounts of memory, set the blocksize to
something more believable.  Should fix the memset-part to act only
up to the size the file is extended to, though.
2007-09-27 12:03:31 +00:00
pooka 059aa1fbbc fix usage. from Karl Jenkinson 2007-09-05 17:15:35 +00:00
pooka 25a346d4fb Nuke PUFFSLOOKUP_FOO and move to NAMEI_FOO 2007-08-15 14:19:19 +00:00
pooka 37f06f1c57 sysctlfs was moved to base 2007-08-15 14:13:57 +00:00
pooka ba4e596bc9 move sysctlfs from examples to base 2007-08-09 22:01:25 +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 4a7c7712c6 * require standard mount_foo bar /path usage, where bar is ignored here
* allow only root callers to modify sysctl tree
2007-08-09 21:54:16 +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 27c5f7cba3 Match code with comment (can't really remember doing it often that
way around .. ) and initialize storage to zero when extending a file.
2007-07-22 13:19:38 +00:00
pooka a53b2cab5e missed one place to set dirent namelen - unmiss it 2007-07-22 12:26:58 +00:00
pooka 87429c840c Oops, the cookies for nfs of course represent the *next* directory
entry offset, not the current one.
2007-07-19 10:14:53 +00:00
pooka b4d2a683de -m for setting maxreqlen 2007-07-19 07:58:56 +00:00
pooka ce80f00ff3 With fullpath support we need to check name lengths also, otherwise
lookup for "foo" will match "foobar".
2007-07-17 16:33:27 +00:00
pooka 9ee5fb2795 nuke accidental debug printf 2007-07-17 16:00:56 +00:00
pooka 0038fe558b Use "sysctlfs" as the type name instead of the mountpath.
Methinks it's nicer that way.
2007-07-17 12:03:46 +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 6596e0c995 adapt: **newnode etc. pointers -> struct puffs_newinfo 2007-07-01 18:40:15 +00:00
pooka fe7bbdec69 adapt: pid -> const struct puffs_cid * 2007-07-01 17:23:44 +00:00
pooka 1776bc7796 adapt: pcn->pcn_cred is now a pointer 2007-07-01 15:32:02 +00:00
pooka 53a4105885 Actually, keep PUFFS_KFLAG_NOCACHE and -o cache around as shorthand
to neither page- nor namecache.
2007-06-24 22:25:49 +00:00
pooka 5662e7f720 PUFFS_KFLAG_NOCACHE became two, so introduce the command line options
-o nonamecache and -o nopagecache and adapt file systems where necessary.
2007-06-24 22:18:38 +00:00
pooka 3aa77bc919 Just to demonstrate namemod a bit further, make this flip the case
of filenames / contents instead of rot13 if -f is given.
2007-06-24 18:59:27 +00:00
pooka 39542808a8 cast tolower() arg to unsigned char 2007-06-24 18:57:26 +00:00
pooka 0d05db1c32 use puffs_null_setops() 2007-06-24 18:43:30 +00:00
pooka a2b6c72725 fix this also, had a similar rototill-typo as rot13fs 2007-06-24 18:37:40 +00:00
pooka eb83bd6c94 I wasn't going to add any more silly examples, but I'll bite for
this one, since it's a good exercise ..

Add icfs, which does the same thing as the refuse-based icfs agc
added earlier this week, i.e. null-mounts & converts the entire
namespace to lowercase.  However, it's a fun comparison, since this
is implemented in a completely different fashion from the refuse
version.
2007-06-24 18:32:00 +00:00
pooka 1c4b40e1bc fix typo from previous rototill, makes this work again 2007-06-20 21:11:26 +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 c8b0a89198 reflect changes in fs mount: use puffs_mount() instead of
puffs_domount() & puffs_start()
2007-05-17 14:13:04 +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