pooka
88f28c1eed
honor LOCKLEAF in namei
2007-09-08 15:40:51 +00:00
pooka
2c096f9eae
"proper" return value handling
2007-09-02 13:55:27 +00:00
pooka
e61b08e4b2
fix assert
2007-09-02 13:54:21 +00:00
pooka
a1c82d9717
* Give rump_vfs_root() the option of returning the vnode unlocked.
...
* initialize syncdelay
* implement io_sync handler
2007-09-02 13:29:50 +00:00
pooka
420d610664
include bsd.own.mk for NETBSDSRCDIR
...
this time noticed by mjf
2007-09-02 12:00:12 +00:00
pooka
3f3cac88a3
Make bioops a pointer and point it to the softdeps struct in softdep
...
init. Decouples "options SOFTDEP" from the main kernel and ffs code.
2007-09-01 23:40:21 +00:00
pooka
eb606989ed
avoid uninitialized warning from impossible enum
2007-09-01 22:10:10 +00:00
pooka
292192fe0a
* fill struct buf a little better
...
* hop, skip & jump to make uvm_pageratop work
2007-09-01 21:45:19 +00:00
pooka
34ab6399f3
* add a very crude version of uvm_pageatop()
...
* add biodone/aiodone
2007-09-01 21:40:58 +00:00
pooka
ebf393b89f
vinvalbuf in vrecycle
2007-09-01 21:39:46 +00:00
pooka
396d174477
allow to set ffs options with command-line -o
...
XXX: can't mix puffs and ffs options in one -o foo,bar
2007-08-27 23:15:26 +00:00
pooka
59a7b3704a
define FFS
2007-08-26 23:53:24 +00:00
pooka
dbce9b9f2c
few panicky functions
2007-08-26 23:51:08 +00:00
pooka
9157302845
split implemented lock stuff out of lock_stub.c into lock.c
2007-08-26 23:49:42 +00:00
pooka
c869e534dd
very rudimentary recursive lock support
2007-08-26 23:46:47 +00:00
pooka
1cf445da3e
Don't play rename & typecast games with kauth_cred_t, but rather
...
declare the type in rump.h only if necessary with the help of ifdef
magic.
2007-08-25 10:22:31 +00:00
pooka
8b0f2e2191
Support nfs exporting file systems.
2007-08-23 14:37:40 +00:00
pooka
faafe7834a
Implement credentials. Access control is now similar to if the file
...
system were run in the kernel.
2007-08-21 13:57:17 +00:00
pooka
a86741016f
add rump private parts I forgot to commit earlier today
2007-08-20 23:05:46 +00:00
pooka
d6b288093a
g/c bit about r/w && bsize < PAGE_SIZE, not a concern any more
2007-08-20 23:01:51 +00:00
pooka
b49c4f6b0b
g/c comment invalidated by previous
2007-08-20 22:59:17 +00:00
pooka
4224c1d885
* in getpages, make sure we always align our buffer size to the page size
...
* in putpages, make sure we don't try attempt to push data in a page
after eof. also, skip blocks which bmap can't locate (see comment
in code).
the effect: file systems with fs_bsize < PAGE_SIZE now work r/w
2007-08-20 22:58:03 +00:00
pooka
3c2765f1a3
Hide NetBSD kernel headers completely from ukfs. This includes creating
...
accessors for:
* struct mount & VFS ops
* struct uio
* struct vnode
* struct vattr
and some namespace games for:
* namei flags
* VOPs
* enum vtype
Also, split rump services into two categories: library private and public
(rump_private.h and rump.h, respectively).
As a result, it is now possible to compile and use the NetBSD kernel
file systems on Linux (and probably other systems too with very
little work), although the makefiles need a bit of work to make it
a pleasureable experience.
2007-08-20 15:58:13 +00:00
pooka
34980d5637
Namespace management: do not call VOP_FOO directly from ukfs or
...
p2k, but rather make the calls go through librump. This avoids
having to include NetBSD kernel headers in userspace programs.
Stay tuned for some more mods of the same sort ...
2007-08-19 21:24:21 +00:00
pooka
29e91e1a8c
* fix build if using obj dirs
...
* this shouldn't use rump directly
2007-08-19 20:06:58 +00:00
pooka
8e851258d0
* support symlink & readlink
...
* some reorg & bugfixage
2007-08-19 15:57:38 +00:00
pooka
8d4ab68505
always define __NetBSD__
2007-08-19 14:47:24 +00:00
pooka
8657b11ebd
jump through rename hoops (hi ad!)
2007-08-16 21:26:21 +00:00
pooka
73dcfa3099
missed a bit
2007-08-16 19:56:22 +00:00
pooka
fb60c8abcc
describe libukfs
2007-08-16 19:53:48 +00:00
pooka
aecd6d8924
tweaks
2007-08-16 19:50:19 +00:00
pooka
6c71c22a44
Add "file system console", which is meant eventually to become a
...
"console" to a file system, i.e. a tool for mounting any file system
image supported by rump and executing various commands on it.
Currently it's just a linear set of calls to ukfs routines and
serves mainly as a simple test program and ukfs usage example.
2007-08-16 19:48:31 +00:00
pooka
71d88cd835
use UKFS_UIOINIT
2007-08-16 19:43:09 +00:00
pooka
55a47971a5
Actually using passed parameters instead of hardcoded ones makes
...
a macro work better ...
2007-08-16 19:42:50 +00:00
pooka
b926b490ec
Add routines for pure userspace file system operation
...
(i.e. no kernel involvement), namely:
* create, mknod, remove, mknod, rmdir, getdents, read, write, and link
Still obviously missing a few, but this is a start (I'm also searching
for the blessed orb of code quality, maybe someone has seen it?).
2007-08-16 19:37:18 +00:00
pooka
85a8716f91
locking fixes
2007-08-16 16:17:42 +00:00
pooka
56accd1ffe
enable UFS_DIRHASH
2007-08-15 22:22:14 +00:00
pooka
cfd4dc8f38
Wrap malloc() so that we catch the kernel arguments (namely M_ZERO)
...
properly. It's fairly amusing that this wasn't noticed until now.
2007-08-15 22:13:15 +00:00
pooka
ba8f4f0ea5
support VOP_LINK
2007-08-15 16:56:44 +00:00
pooka
c360a79960
* split userspace file system access into two separate libraries:
...
+ libp2k: the interface between libpuffs and vfs/vop
+ libukfs: generic user kernel file system library, usable
independent of libp2k and/or puffs
* use file system name (MOUNT_XYZ) instead of vfsops pointer to
mount file system
2007-08-14 15:56:15 +00:00
pooka
b0ae85df19
interrupt headers necessary for vfs_bio
2007-08-14 14:06:12 +00:00
pooka
ea312e5c20
udf support
2007-08-14 13:56:58 +00:00
pooka
243a4686b8
Kill handrolled buffercache and use vfs_bio from the kernel. This is
...
mostly to get the flag jungle in sync with the kernel.
2007-08-14 13:54:14 +00:00
pooka
790f3adcf7
compile in clock_subr.c
2007-08-14 13:24:34 +00:00
pooka
f89f2dc0be
Add some barely staggering code to get more disklabel support.
2007-08-14 13:24:07 +00:00
pooka
0322f263f2
nuke no longer used vm macros
2007-08-13 15:59:47 +00:00
pooka
5e1193986e
opts necessary for vfs_vnops.c missed in previous commit
2007-08-13 13:57:21 +00:00
pooka
7ed98ea083
Add locking assertions to check that file systems comply with the
...
vnode locking protocol.
2007-08-13 13:52:45 +00:00
pooka
787d952790
Use supermarket variety vfs_vnops.c instead of homecooked routines
...
(that's actually a good thing here).
2007-08-13 13:51:39 +00:00
pooka
e09047007b
lock and unlock vnodes according to locking protocol
2007-08-13 12:20:55 +00:00