Commit Graph

332 Commits

Author SHA1 Message Date
pooka aa224b94d6 fix broken break (oh the irony) 2008-09-05 10:42:09 +00:00
pooka 795cda8d6a Add rump support for sysvbfs. 2008-09-04 12:21:25 +00:00
pooka 827e91dd6f Make syspuffs mount code supply mount_syspuffs_parseargs() like
the other mount binaries do.  Now syspuffs can be used to run all
puffs file systems as utilities.  This includes fuse file systems
and becomes interesting with the fs-utils project.  We can now do
e.g. this:

  ReFUSE ntfs-3g:
golem> echo hello | fsu_write/fsu_write ntfs-3g puffs ~/img/ntfs.img dafile
golem> fsu_cat/fsu_cat ntfs-3g puffs ~/img/ntfs.img dafile
hello
golem>

  puffs sysctlfs:
golem> fsu_ls/fsu_ls mount_sysctlfs puffs sysctl -l ddb
total 0
-r-xr-xr-x  1 pooka  users  1 Sep  2 22:11 commandonenter
-r-xr-xr-x  1 pooka  users  2 Sep  2 22:11 fromconsole
-r-xr-xr-x  1 pooka  users  3 Sep  2 22:11 lines
-r-xr-xr-x  1 pooka  users  8 Sep  2 22:11 maxoff
-r-xr-xr-x  1 pooka  users  3 Sep  2 22:11 maxwidth
-r-xr-xr-x  1 pooka  users  2 Sep  2 22:11 onpanic
-r-xr-xr-x  1 pooka  users  3 Sep  2 22:11 radix
-r-xr-xr-x  1 pooka  users  2 Sep  2 22:11 tabstops
-r-xr-xr-x  1 pooka  users  2 Sep  2 22:11 tee_msgbuf

Same works for psshfs etcetc.

In other words, this provides total integration for "normal"
in-kernel file systems and puffs/fuse file systems on the ukfs
library level.

Note: implementation is still "first stab" and the fs-utils usage
will no doubt change.
2008-09-02 19:38:25 +00:00
pooka 38b7d91d61 Add IPL_SOFTCLOCK, something required it (although I can't quite
recall what, this has been floating in my tree for a while)
2008-09-02 19:27:35 +00:00
pooka 4b9a5d92cf Since putter wants complete frames, make sure we can hand them to it. 2008-08-15 15:02:28 +00:00
pooka 4b5f80486c Make it possible to control starting of threads per env variable
instead of only at compile-time.
2008-08-12 10:04:57 +00:00
pooka 96a0d293a7 Don't create a new proc structure for kthreads (pid == 0).
XXX: this routine should probably do better accounting and consistency
checks as well.
2008-08-08 14:40:07 +00:00
pooka 0fca7fa92c minor nit: fix header #ifndef namespacing 2008-08-08 13:57:59 +00:00
pooka a1e2d21c3e pg->flags &= PG_CLEAN --> &= ~PG_CLEAN;
Fixes at least writing to the fs for msdosfs.
2008-08-07 21:02:29 +00:00
pooka 3d8b145f98 some more todo points 2008-08-07 11:15:20 +00:00
pooka 7b679f625d Maintain consistency of naming between the rumpfs library name and
the MOUNT_FOOFS name.  Don't bother polluting the obsolete lists
with the original names since they were in only for a few days.
2008-08-05 14:42:03 +00:00
simonb 159018ab5b Enable "options APPLE_UFS". OK pooka@. 2008-08-05 13:16:27 +00:00
pooka 919218a908 Honor PG_RELEASED when unbusying a page.
Fixes ufs file system full problem discovered by Simon Burge.
2008-08-05 13:06:35 +00:00
pooka 27f3f4f004 Add support for using real kmem/vmem. Don't enable it by default,
though, since it a) is a lot of unnecessary indirection in rump
b) requires callouts which are so far unimplemented.
2008-08-04 15:02:16 +00:00
pooka 8f1eb24c9f libs don't need NOMAN 2008-08-04 14:35:24 +00:00
simonb b92eb9eaa1 sort sys/kern SRCS alphabetically. 2008-08-02 15:31:14 +00:00
pooka 0b5af21c5a support real sysctls 2008-08-01 19:34:51 +00:00
pooka fb5f9816d8 regen: sys___sysctl 2008-08-01 19:33:02 +00:00
pooka c19f1a2afd Support ukfs_modload(), which dlopens and vfs_attaches rump file
system modules for use.  Sneakily this solves the problem with the
dynamic linker not wanting to handle the modules link set for
binaries where more than one file system library is included during
the link phase and therefore only one of the file systems getting
vfs_attach()ed in rump "boot".  But more importantly, this is really
TRTTD, since now applications can be built, linked and shipped
completely independently of the file systems they support.

tested by Arnaud Ysmal
2008-08-01 14:47:28 +00:00
simonb 36d65f1138 Merge the simonb-wapbl branch. From the original branch commit:
Add Wasabi System's WAPBL (Write Ahead Physical Block Logging)
   journaling code.  Originally written by Darrin B. Jewell while
   at Wasabi and updated to -current by Antti Kantee, Andy Doran,
   Greg Oster and Simon Burge.

OK'd by core@, releng@.
2008-07-31 05:38:04 +00:00
oster 55a54b5762 Fix race during creation of rumpdefs.h, rumpvnode_if.h, and rumpvnode_if.c.
Patch from pooka@ with tweak from me.

Approved by: pooka
2008-07-30 01:32:47 +00:00
pooka 4b68af9947 Prevent amd64 compiler flag -mcmodel=kernel for rump kernel code.
This allows to compile rump libraries as shared libraries also on mad64.

Problem spotted by Greg Oster.  I guess his build broke or something ...
2008-07-29 20:18:25 +00:00
pooka eef3b7a974 * remove unnecessary .PATH
* wrap malloc
2008-07-29 14:01:25 +00:00
pooka 9dbcf29c49 NOMAN 2008-07-29 14:00:01 +00:00
pooka cd56ab5fbf Accidentally left behind: these live in src/lib now. 2008-07-29 13:50:24 +00:00
pooka bdf6e0b034 Install rump libraries and utilities to the base system and remove the
private non-installed build infrastructure from sys/rump.

breakdown of commit:
  * install relevant headers into /usr/include/rump
  * build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
    from src/lib and install as librumpuser and librump, respectively
    + this retains the ability to test a librump build with just the
      kernel sources at hand
  * move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
    for general consumption, they are not kernel-space dwellers anyway
  * build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
  * add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
  * build and install userspace kernel file system daemons if MKPUFFS=yes
    is spexified
  * retire fsconsole for now, it will make a comeback with an actually
    implemented version shortly
2008-07-29 13:17:40 +00:00
pooka b6138e3eb7 Backup some manual page sketches lest I delete the wrong source tree. 2008-07-28 18:34:31 +00:00
pooka b00e8162a5 Give rump a faux vmparam.h to work around problematic ports (hooray
for evbppc).  Obligatory inlined rant: it would be really nice if
we didn't have weird ports like that which sport totally incompatible
code for different kernels.
2008-07-28 18:12:15 +00:00
pooka 2ba62ba2c7 Not everyone is building from my yet uncommitted trees, so catchup
here also.

tip-of-the-hat to simonb
2008-07-28 16:27:29 +00:00
pooka e575982be5 blkset.S is needed on vax by some macros, so include it in the build. 2008-07-28 13:56:59 +00:00
pooka c8ccd39051 UKFS_UIOINIT() functionality has been provided for ages by rump
function interfaces, so remove the macro.
2008-07-27 16:12:23 +00:00
pooka 2d86f776af Make the previously library-internal "builddirs" an external interface:
ukfs_util_builddirs()

patch from Arnaud Ysmal
2008-07-22 20:02:16 +00:00
pooka 348d0d344d Have a COW with fscow_run(). Fixes problem of allocating files
on ffs with indirect blocks.

found by simonb
2008-07-21 10:51:03 +00:00
pooka 4a0d2098e7 Repeat after me: do not pollute sys with #ifdef _RUMPKERNEL 2008-07-21 10:40:37 +00:00
pooka cb5ae8f020 Call mountpoint VFS_FSYNC() from specfs fsync.
Makes rump kern/38057-happy.
2008-07-21 00:08:30 +00:00
pooka 655d81c21a Make the user-namespaced rumpuser_cv_has_waiters() of type int
instead of bool to avoid unnecessary problems in trying to provide
the bool type.
2008-07-20 19:03:04 +00:00
pooka 83548151e2 assert -> KASSERT 2008-07-20 16:18:13 +00:00
pooka 0217e22507 You must untypo what you have typoed: rumpnode_if.h -> rumpvnode_if.h 2008-07-20 16:14:22 +00:00
he 6512b04025 The build options for the library parts are mostly located in this
file.  So, in order to better support UPDATE builds, add a dependency
on this file for object files in subdirectories using this file.
2008-07-20 15:56:44 +00:00
pooka 1d89d2370c enable DIAGNOSTIC 2008-07-18 16:20:03 +00:00
pooka 28fdf2df68 support cv_has_waiters() 2008-07-18 16:19:12 +00:00
pooka 00e37d073d emulate vlog() 2008-07-18 16:18:04 +00:00
pooka 6fed9eb99d Don't biohazardwait B_ASYNC buffers. 2008-07-18 16:15:56 +00:00
pooka 3e3b9ce9de Deregister fakeblock path immediately after mount to get it
deregistered also in the case of an error.
2008-07-17 11:25:07 +00:00
pooka cc7d901591 vfs_subr2 has lost its will to live. vfs_subr was originally split
into two parts so that some of the routines could be used by rump.
Now that rump uses both vfs_subr and vfs_subr2 and there is no
reason to keep two files lying around, re-unite them.
2008-07-16 20:06:19 +00:00
pooka 2707ee274f bring todo list upper-to-dater 2008-07-16 15:54:24 +00:00
pooka 76ee3b3a51 Sync data to baking storage in ukfs_write() 2008-07-16 15:44:11 +00:00
pooka 514afdda21 regen: fsync 2008-07-16 15:43:30 +00:00
pooka aa652b7453 Nuke the "-p" argument to ukfs_mkdir(). It's not a particularly
brilliant idea to provide that functionality at this level.
2008-07-15 16:21:19 +00:00
pooka e6891fd321 Honor PGO_FREE in putpages.
Fixes cp-then-rm ukfs panic reported by Arnaud Ysmal.
2008-07-15 15:04:42 +00:00