Commit Graph

108 Commits

Author SHA1 Message Date
pooka
268bb1001b print 0x before hex, print proper types 2007-09-24 01:40:38 +00:00
pooka
84387d0fd3 Don't whine about wakeup() not being implemented every time it's
called.  Nobody cares unless ltsleep() is called (and it panics).
2007-09-24 01:34:27 +00:00
pooka
1d4d5500dc -DFFS_EI 2007-09-24 01:31:07 +00:00
pooka
310b3e7254 add rw_tryenter() and rw_lock_held(), inspired by Adam Hamsik 2007-09-22 11:26:42 +00:00
pooka
b795ecbe79 fsync() device fd if doing a non-B_ASYNC write. This makes the
file system safe, but less performant as the kernel, as it syncs
*all* outstanding dirty buffers.  However, we don't have much choice
in userspace currently.
2007-09-20 23:43:44 +00:00
pooka
c777421532 Expose namei. Some applications might want to call VOPs directly for
whatever reason and no need to make them implement their own copy of
namei, fun though it might be.
2007-09-18 19:59:21 +00:00
pooka
0ae64860f6 don't allocate variable-sized arrays from the stack 2007-09-12 10:24:23 +00:00
briggs
06c4139448 If !_HAVE_TIMECOUNTER, initialize 'time' instead of 'time_second.' 2007-09-11 16:33:19 +00:00
briggs
bf243579ed Define splclock() so that this will at least compile on architectures
without _HAVE_TIMECOUNTER.
2007-09-11 16:31:01 +00:00
pooka
dffee5c423 fix ukfs_readlink() to be of type ssize_t 2007-09-11 00:42:16 +00:00
pooka
850349a3c2 create generated files before running makedepend 2007-09-11 00:41:46 +00:00
pooka
99dbf2bb34 manadatory TODO-list.
Makes project appear less dead when there's something TODO.
2007-09-10 21:18:55 +00:00
pooka
ccd777c8fa Provide errno from rumpuser_{gettimeofday,close}() to be consistent. 2007-09-10 19:11:44 +00:00
pooka
cc370e5dc5 no need to include param.c twice in the source list 2007-09-10 16:11:43 +00:00
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