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
35b591f8ec
uncommit accidental changes
2009-12-11 21:21:52 +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
pooka
5a9a1f8306
Update. Especially, describe ukfs_mount_disk(), ukfs_release() flags
...
and return value, and remove obsolete info in BUGS.
2009-11-22 18:14: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
44dcee46bd
default to UKFS_PARTITION_NONE in argvprobe
2009-11-05 14:22:54 +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
70d95ce59f
fix markup
2009-09-14 20:54:34 +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
joerg
6a85fc7cdf
Use .Bl -ohang instead of physical markup.
2009-04-11 16:44:01 +00:00
pooka
74e11245a1
MNT_SOFTDEP -> MNT_LOG in example. pointed out by mrg.
2009-04-06 12:03:50 +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
0b7df1d2e2
LIBDPLIBS on librumpvfs
2008-11-27 16:14:46 +00:00
wiz
11655fdf0f
Fix two mdoclint warnings.
2008-11-26 19:05:55 +00:00
pooka
24bc96c743
Add BUGS section which notes that dynamic linker features in dealing
...
with link sets prevent from including more than one file system on
the link line and that the rest must be loaded dynamically at runtime.
2008-11-25 06:44:19 +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
pooka
10f58aee6b
adapt to RUMPCRED_SUSER change
2008-09-30 19:26:23 +00:00
pooka
d93a348b24
remove verbosity attack
2008-09-29 15:59:54 +00:00
pooka
24da753b34
fix type for a few functions
2008-09-07 15:14:31 +00:00