Home | History | Annotate | Download | only in libukfs
History log of /src/lib/libukfs/ukfs.c
RevisionDateAuthorComments
 1.60  19-Apr-2022  rillig lib: remove CONSTCOND comment

Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.
 1.59  25-Jan-2016  pooka 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.
 1.58  17-Jun-2015  christos fix error messages
 1.57  22-Feb-2011  pooka Add support for a byteswapped disklabel so that I can mount
NetBSD/sparc anita images on my i386.
 1.56  02-Jan-2011  pooka branches: 1.56.2;
rump_lwproc_newproc -> rump_lwproc_rfork
 1.55  26-Nov-2010  pooka rumpuser should not be included outside of the rump kernel (and
rumpuser itself)
 1.54  07-Sep-2010  pooka Migrate from rump private interfaces to syscalls.
 1.53  01-Sep-2010  pooka update to new rump proc/lwp interfaces
 1.52  19-Jul-2010  pooka convert to newstyle automagic rump compat syscalls
 1.51  24-Jun-2010  hannken 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.
 1.50  14-Apr-2010  pooka Some _t purification. no functional change.
 1.49  08-Mar-2010  pooka 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.
 1.48  05-Mar-2010  pooka Update to use newstyle rump_module interfaces.
 1.47  13-Dec-2009  pooka Refcount ukfs_part. Otherwise it's not possible to call ukfs_mount()
several times with only one ukfs_part_probe().
 1.46  12-Dec-2009  pooka fix error branch
 1.45  11-Dec-2009  pooka Use range locking (fnctl(F_SETLK)) instead of file locking (flock()).
This allows to mount multiple (non-overlapping) partitions from the
same disk image.
 1.44  11-Dec-2009  pooka Init ukfs__part_{na,none} statically instead of at runtime to avoid
init-order lossage from p2k/rump_smbfs, as noted by Tron.
 1.43  03-Dec-2009  pooka 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
 1.42  16-Nov-2009  njoly Add RTLD_LAZY to dlopen call, to make it work on Linux hosts.

ok by pooka.
 1.41  15-Oct-2009  pooka use newstyle rump lwp interfaces
 1.40  14-Oct-2009  pooka Adjust names of external rump control interfaces to match the
new rump_pub namespace.
 1.39  07-Oct-2009  pooka fix warning whine
 1.38  07-Oct-2009  pooka 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'.
 1.37  02-Oct-2009  pooka * 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
 1.36  29-Sep-2009  pooka Give rump_sys_unmount() in ukfs_release() a curlwp context. This
prevents use-after-free and should fix crashy cases reported by
Arnaud Ysmal.
 1.35  04-Aug-2009  pooka If opening the device fails, skip etfs registration only if it is
because of ENOENT. Otherwise, let the file system handle it.
 1.34  03-Aug-2009  pooka fix errno reporting
 1.33  03-Aug-2009  pooka * 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
 1.32  23-Jul-2009  pooka return proper errno from mount
 1.31  22-Jul-2009  pooka delint
 1.30  22-Jul-2009  pooka 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.
 1.29  21-Jul-2009  pooka Can't see any reason to stat() the .so before dlopen(), so get rid
of that call. uses normal ldlib paths now
 1.28  22-May-2009  pooka use compat syscalls if necessary
 1.27  15-May-2009  pooka Fix calls to rump syscalls now that the padding argument is no
longer advertised.
 1.26  02-May-2009  pooka 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().
 1.25  02-May-2009  pooka 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.
 1.24  26-Apr-2009  pooka Provide a stateful mode for readdir/read/write. Using them gives
a measurable boost to some fs-utils commands.
 1.23  06-Apr-2009  pooka release root vnode at unmount
 1.22  11-Feb-2009  pooka 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.
 1.21  23-Jan-2009  pooka branches: 1.21.2;
Adjust for explicit errno parameter removal from rump syscalls
 1.20  23-Jan-2009  pooka Add #ifdef to disable pthread linkage requirement at compile-time.
 1.19  13-Jan-2009  pooka Update per rump_sys call __RENAME().
 1.18  11-Jan-2009  christos merge christos-time_t
 1.17  31-Dec-2008  pooka Nuke macros which haven't been used since the advent of RUMP_VOPs.
 1.16  30-Dec-2008  stacktic Closing file in ukfs_release
 1.15  24-Nov-2008  pooka branches: 1.15.2;
Return ENODEV instead of ENOENT if the file system is not available.
 1.14  21-Nov-2008  pooka rump_vfs_load -> rump_module_load
 1.13  21-Nov-2008  pooka dlerror() resets the error message, so save it since we want to
access it twice.
 1.12  17-Nov-2008  pooka Use RUMP_VOP instead of prehistoric rump_vp.
 1.11  07-Nov-2008  pooka * 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
 1.10  07-Oct-2008  pooka 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.
 1.9  30-Sep-2008  pooka adapt to RUMPCRED_SUSER change
 1.8  29-Sep-2008  pooka remove verbosity attack
 1.7  14-Aug-2008  pooka branches: 1.7.2;
Fix rump_vfs_sync() credarg also.
 1.6  14-Aug-2008  pooka Fix arg to RUMP_VOP_READDIR, NULL no longer works there.
 1.5  08-Aug-2008  pooka Avoid pid 0
XXX: pid allocation should not be done here.
 1.4  01-Aug-2008  pooka 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.
 1.3  01-Aug-2008  pooka 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
 1.2  29-Jul-2008  pooka fix pasto
 1.1  29-Jul-2008  pooka 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
 1.7.2.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7.2.1  14-Aug-2008  wrstuden file ukfs.c was added on branch wrstuden-revivesa on 2008-09-18 04:39:25 +0000
 1.15.2.3  11-Jan-2009  christos sync with head.
 1.15.2.2  29-Dec-2008  christos adjust for new syscalls.
 1.15.2.1  24-Nov-2008  christos file ukfs.c was added on branch christos-time_t on 2008-12-29 00:09:11 +0000
 1.21.2.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.56.2.1  05-Mar-2011  bouyer Sync with HEAD

RSS XML Feed