pooka
d35b86acad
Don't include <rump/rumpvnode_if.h> from rump.h. It's not needed
...
unless you're doing something special, but requires register_t.
Adjust the few places which actually need rumpvnode_if.h.
2016-01-25 11:45:57 +00:00
christos
5521b51a7a
fix error messages
2015-06-17 00:15:26 +00:00
pooka
27ec9b9d1d
Add support for a byteswapped disklabel so that I can mount
...
NetBSD/sparc anita images on my i386.
2011-02-22 15:42:15 +00:00
pooka
3daddc031c
rump_lwproc_newproc -> rump_lwproc_rfork
2011-01-02 13:01:45 +00:00
pooka
22b33166de
rumpuser should not be included outside of the rump kernel (and
...
rumpuser itself)
2010-11-26 11:10:53 +00:00
pooka
607d9b612a
Migrate from rump private interfaces to syscalls.
2010-09-07 17:16:18 +00:00
pooka
cd52561abe
update to new rump proc/lwp interfaces
2010-09-01 19:40:34 +00:00
pooka
55cb844525
convert to newstyle automagic rump compat syscalls
2010-07-19 15:35:38 +00:00
hannken
1423e65b26
Clean up vnode lock operations pass 2:
...
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
2010-06-24 12:58:48 +00:00
pooka
2734e549f0
Some _t purification. no functional change.
2010-04-14 14:15:48 +00:00
pooka
b405c8d23e
mfs is a bit off in the sense that mount(2) doesn't return since
...
mfs uses the mounting process for the backing store memory. I
guess mfs could be fixed to just reference the process vmspace and
let it return, but that would probably cause wait() to return for
other worms. So it's easier to dance according to mfs's tune: if
mounting mfs, create a thread for extra execution context.
2010-03-08 12:38:14 +00:00
pooka
05e0f1dba9
Update to use newstyle rump_module interfaces.
2010-03-05 18:49:30 +00:00
pooka
9bbaf71ba2
Refcount ukfs_part. Otherwise it's not possible to call ukfs_mount()
...
several times with only one ukfs_part_probe().
2009-12-13 20:52:36 +00:00
pooka
3048f9c8c7
fix error branch
2009-12-12 00:46:04 +00:00
pooka
262f83ce50
Use range locking (fnctl(F_SETLK)) instead of file locking (flock()).
...
This allows to mount multiple (non-overlapping) partitions from the
same disk image.
2009-12-11 21:20:52 +00:00
pooka
72e7011c7a
Init ukfs__part_{na,none} statically instead of at runtime to avoid
...
init-order lossage from p2k/rump_smbfs, as noted by Tron.
2009-12-11 16:47:33 +00:00
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
njoly
978f600106
Add RTLD_LAZY to dlopen call, to make it work on Linux hosts.
...
ok by pooka.
2009-11-16 17:21:26 +00:00
pooka
2ce66cd910
use newstyle rump lwp interfaces
2009-10-15 16:41:08 +00:00
pooka
bf3992af18
Adjust names of external rump control interfaces to match the
...
new rump_pub namespace.
2009-10-14 18:22:50 +00:00
pooka
a230afc74e
fix warning whine
2009-10-07 20:53:38 +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
e99ca06d65
Give rump_sys_unmount() in ukfs_release() a curlwp context. This
...
prevents use-after-free and should fix crashy cases reported by
Arnaud Ysmal.
2009-09-29 11:17:00 +00:00
pooka
1752ac9b33
If opening the device fails, skip etfs registration only if it is
...
because of ENOENT. Otherwise, let the file system handle it.
2009-08-04 12:37:14 +00:00
pooka
d90603b573
fix errno reporting
2009-08-03 15:08:37 +00:00
pooka
8bf6866a3f
* use new etfs interface
...
+ attempt to register only if we can stat() the devpath. this works
around e.g. nfs devpath, which is useless to register to etfs
XXX: the caller should decide
2009-08-03 14:24:58 +00:00
pooka
c39552c570
return proper errno from mount
2009-07-23 01:01:31 +00:00
pooka
77d8bc0d04
delint
2009-07-22 21:05:30 +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
80f30aa223
Can't see any reason to stat() the .so before dlopen(), so get rid
...
of that call. uses normal ldlib paths now
2009-07-21 00:19:57 +00:00
pooka
d2895b1d1d
use compat syscalls if necessary
2009-05-22 08:59:53 +00:00
pooka
1decab3813
Fix calls to rump syscalls now that the padding argument is no
...
longer advertised.
2009-05-15 15:54:03 +00:00
pooka
6e63908b9f
Since rump_module_load() doesn't actually load the module, change
...
the name to rump_module_init(). Also, adjust the signature to take
a direct pointer to modinfo and allow passing of props. Finally,
provide rump_module_fini().
2009-05-02 15:20:08 +00:00
pooka
45ef580f17
Merge librumpfs_ufs into librumpfs_ffs. This reflects what happened
...
with the ffs kernel module and follows the trend of retiring ufs.
It also allows to get rid of a special case kludge in runtime module
loading, since ufs was not really a module. librumpfs_ufs is now
obsoleted and ffs consumers should be linked solely against
librumpfs_ffs.
2009-05-02 01:15:52 +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
efd7bfa323
release root vnode at unmount
2009-04-06 03:27:39 +00:00
pooka
d5aab2d6c4
Do not flock() block devices. The kernel recently started to guard
...
against opening a block device twice and flock requires that we
keep the device open. Hence, the same mount would attempt to open
for locking and then VOP_OPEN for kernel access and run into
problems. This makes it possible to rump_foofs block devices again,
i.e. take the same command line arguments as regular mounts.
Noticed by apb.
2009-02-11 14:35:58 +00:00
pooka
d9c038d4fe
Adjust for explicit errno parameter removal from rump syscalls
2009-01-23 19:36:01 +00:00
pooka
0d2e9d5345
Add #ifdef to disable pthread linkage requirement at compile-time.
2009-01-23 15:06:48 +00:00
pooka
2758ac8cf1
Update per rump_sys call __RENAME().
2009-01-13 22:33:10 +00:00
christos
461a86f9bd
merge christos-time_t
2009-01-11 02:45:45 +00:00
pooka
e605194ace
Nuke macros which haven't been used since the advent of RUMP_VOPs.
2008-12-31 00:35:00 +00:00
stacktic
69a3e4d4ea
Closing file in ukfs_release
2008-12-30 10:31:22 +00:00
pooka
d0303b2f28
Return ENODEV instead of ENOENT if the file system is not available.
2008-11-24 05:54:39 +00:00
pooka
945e7d735e
rump_vfs_load -> rump_module_load
2008-11-21 06:10:15 +00:00
pooka
9c035d43d1
dlerror() resets the error message, so save it since we want to
...
access it twice.
2008-11-21 06:07:23 +00:00
pooka
57f1031888
Use RUMP_VOP instead of prehistoric rump_vp.
2008-11-17 13:22:15 +00:00
pooka
f455f7ee91
* use advisory file locks to avoid multiple mounts on the same device
...
(multiple rdonly mounts are still allowed)
* shuffle some assignments to avoid leaking resources in error branches
2008-11-07 00:18:33 +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