Commit Graph

13 Commits

Author SHA1 Message Date
pooka 0c29df1074 Improve the ukfs magicpath interface a bit:
* rename PART to DISKLABEL
* allow to take an OFFSET range to make it possible to access an image
  where there is no disklabel present
* make future extensions easier and less intrusive for the callers
2009-12-03 14:23:49 +00:00
pooka 44dcee46bd default to UKFS_PARTITION_NONE in argvprobe 2009-11-05 14:22:54 +00:00
pooka ae7625c02d Add what is essentially disklabel support. All disk-based file
systems should be mounted with ukfs_mount_disk() from now on.  The
partition argument specifies which label is being mounted (or the
entire image).  E.g. partition 4 should be label 'e'.
2009-10-07 20:51:00 +00:00
pooka 323d1b6573 * allow callers to store a private data pointer behind the ukfs handle
* release reference on root vnode before unmounting
  (and reaquire the root vnode if unmount fails)
* return correct error value if unmount fails
2009-10-02 09:32:01 +00:00
pooka ee47269736 Since rump rootfs now supports creating directories, mount ukfs
mounts at the requested mountpoint instead of as the rump kernel
rootfs.  While doing so, generally convert everything to use system
calls instead of handcrafter rump interfaces (e.g. rump_sys_mount()
instead of rump_mnt_mount()).  This avoids a lot of unnecessary
fuss.

Change UKFS_DEFAULTMP from / to /ukfs and bump ukfs version.
2009-07-22 20:46:34 +00:00
pooka 28e32e3408 Provide a stateful mode for readdir/read/write. Using them gives
a measurable boost to some fs-utils commands.
2009-04-26 22:23:01 +00:00
pooka 5877c6dc5e Embed library build version into the init call and refuse to init
if they don't match.  In other words, this is a lightweight library
major number.
2008-10-07 23:16:59 +00:00
pooka 541195ef5d Introduce ukfs_vfstypes() which returns the available file system
types loaded into rump.  Now it is possible to iterate over all
file system types supported by a rump program in an attempt to
access an unknown file system image instead of having to know
beforehand which type of file system is on the image.
2008-08-01 19:52:10 +00:00
pooka b6113580a4 __{BEGIN,END}_DECLS 2008-08-01 14:50:28 +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
pooka e3c0c9ec57 No reason to forward def componentname anymore 2008-07-30 14:59:47 +00:00
pooka d2b954cb75 Include <sys/types.h> for completeness, uid_t etc. in prototypes
noticed by Arnaud Ysmal
2008-07-30 14:57:40 +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