Commit Graph

121 Commits

Author SHA1 Message Date
pooka
cf82732ba2 Revert weird revivesa merge botch. (Hi Bill!) 2008-10-15 13:57:03 +00:00
wrstuden
fc7511b00e Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
pooka
ea7f1c6709 check return value of rump_init() 2008-10-08 11:01:28 +00:00
pooka
f4ce96e86b check rump_init() return value 2008-10-07 23:22:05 +00:00
pooka
e15435197f Make libnfs compile. 2008-10-06 01:00:57 +00:00
reinoud
19eb6cb8aa Remove the not anymore used UDF_READWRITE flag. 2008-09-28 09:02:45 +00:00
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
4b9a5d92cf Since putter wants complete frames, make sure we can hand them to it. 2008-08-15 15:02:28 +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
8f1eb24c9f libs don't need NOMAN 2008-08-04 14:35:24 +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
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
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
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
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
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
76ee3b3a51 Sync data to baking storage in ukfs_write() 2008-07-16 15:44:11 +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
37d1079aad add ukfs_utimes() and ukfs_lutimes()
from Arnaud Ysmal
2008-07-07 09:07:18 +00:00
pooka
371212ff48 Add missing calls for attribute management (e.g. chown, stat).
[Incidentally, stat() won't work on non-NetBSD because of struct stat
binary layout difference and needs to be fixed some day]

from Arnaud Ysmal
2008-07-01 13:09:44 +00:00
pooka
d2e855d5a6 Fixes to build rump utilities as host binaries on Linux by removing
sys namespace pollution which has crept in.

Submitted in private mail by takemura, domain ca2.so-net.ne.jp
2008-07-01 12:33:32 +00:00
pooka
3129a376df Fix location of postcall() in ukfs_chdir().
from Arnaud Ysmal
2008-06-24 14:16:37 +00:00
ad
1f3c2824c9 Make it build again. 2008-06-05 21:27:50 +00:00
pooka
0e278b287d Use rump_sys_pread/write instead of rump_sys_read/write to make I/O
from offset != 0 work again.

from Arnaud Ysmal
2008-05-29 12:03:52 +00:00
reinoud
5d5fb047a1 Make rump compile UDF correctly. Note that it won't work though since rump
needs to be compiled with thread support.
2008-05-14 20:13:05 +00:00
lukem
66176dfdff Rename MKPRIVATELIB to LIBISPRIVATE, to make it clearer that this is
a variable that is used by in-tree Makefiles to control behaviour.
(MKsomevar variables are generally intended to be controlled by the end-user)
2008-05-03 14:48:30 +00:00
pooka
01c429027f Workaround gcc -Wunitialized bug for -Osomething compilations.
PR lib/38385, Matthew Mondor
2008-04-08 08:25:49 +00:00
ad
a9ca7a3734 Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
2008-03-21 21:54:58 +00:00
pooka
546bf50253 Cache referenced rootvp in struct ukfs. Makes it possible to run
pre/postcall wrapper around the exported namei, since postcall no
longer needs to execute VFS_ROOT (which is a bad thing to do while
potentially holding on to a locked vnode, mmkay).
2008-03-13 14:24:30 +00:00
pooka
e8401439ac Implement all ukfs interfaces (except getdents, that's a bit more
tricky) with the help of rump system calls instead of calling namei
by themselves.  Trust me when I say it was non-trivial to get the
namei calls right.
2008-03-12 21:37:15 +00:00
pooka
b590aae6d8 Support chdir. This is useful for example when testing and not
wanting to stress namei() so much as test individual ops.
XXX: it should be implemented per calling thread, not per fs.
2008-03-12 14:49:19 +00:00
pooka
8ca4306537 Support multiple file systems within one process with ukfs by using
a "chroot" for each file system.
2008-03-12 11:17:33 +00:00
lukem
471f389be3 Add -I${LIBRUMPDIR} to fix objdir builds. 2008-03-12 05:11:51 +00:00
pooka
3f429ae81b Compile rump_syscalls, use them in a few places. 2008-03-11 22:57:26 +00:00
pooka
a7ece3ec53 Backup some fixes for recent breakage from local tree. Also some
other improvements such as exporting the real kernel namei and
using that in ukfs instead of the homegrown heap'o hacks namei.
"etcetc".
2008-03-11 10:50:16 +00:00
pooka
bc13687cf3 default owner to getuid() 2008-01-29 18:17:21 +00:00
pooka
cc7f05eb50 Do puffs_fakecc instead of puffs_usethreads for now. 2008-01-28 11:52:38 +00:00
pooka
18e91c156a Don't fool around when recycling vnodes, simply override refcount
to 1, hold on tight to your hat, and call recycle.  The reason is
that we might pick up extra references such as from lookup and we
don't really care about tracking those.  For example with p2k,
puffs in the kernel already does all the refcounting we could ever
dream of, and therefore it's left to the client and unnecessary.
2008-01-27 20:01:29 +00:00
pooka
67b0c1ab9c unlock vp in error branch 2008-01-27 19:19:42 +00:00
pooka
fb3107360b Use vfs_subr.c from sys/kern. This brings differences in the vnode
life cycle between rump and a real kernel to a minimum.
2008-01-27 19:07:20 +00:00
pooka
d7412d56b1 Introduce PUFFS_STACKSIZE_MIN to avoid overloading 0 and getting
a warning from the library when really wanting to say "just the
minimum, please".
2008-01-14 13:57:26 +00:00
pooka
72b3924d8b Set stacksize to minimum acceptable (two pages, one for cc, one
for actual stack) to mimic kernel stack size better.
2008-01-08 00:23:15 +00:00
pooka
f8ff426bbb fix build for OBJDIR case. noticed by plenty 2008-01-02 22:01:41 +00:00