Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rump_etfs(3) [netbsd man page]

RUMP_ETFS(3)						   BSD Library Functions Manual 					      RUMP_ETFS(3)

NAME
rump_etfs -- rump host file system interface LIBRARY
rump kernel (librump, -lrump) SYNOPSIS
#include <rump/rump.h> int rump_pub_etfs_register(const char *key, const char *hostpath, enum rump_etfs_type ftype); int rump_pub_etfs_register_withsize(const char *key, const char *hostpath, enum rump_etfs_type ftype, uint64_t begin, uint64_t size); int rump_pub_etfs_remove(const char *key); DESCRIPTION
The rump ExtraTerrestrial File System (rump_etfs) is used to provide access to the host file system namespace within a rump kernel. The operation is based on registered key values which each map to a hostpath. A key must be an absolute path (i.e. begin with ``/''). Mul- tiple leading slashes are collapsed to one (i.e. ``/key'' is the same as ``//key''). The rest of the path, including slashes, is compared verbatim (i.e. ``/key/path'' does not match ``/key//path''). The hostpath is interpreted in host system context for the current working directory and can be either absolute or relative. The ftype parameter specifies how etfs file will be presented and does not have to match the host type, although some limitations apply. Possible values are: RUMP_ETFS_REG regular file. RUMP_ETFS_BLK block device. This is often used when mapping file system images. RUMP_ETFS_CHR character device. RUMP_ETFS_DIR directory. This option is valid only when hostpath is a directory. The immediate children of the host directory will be accessible inside a rump kernel. RUMP_ETFS_DIR_SUBDIRS directory. This option is valid only when hostpath is a directory. This option recursively applies to all subdi- rectories, and allows a rump kernel to access an entire directory tree. The interfaces are: rump_pub_etfs_register(key, hostpath, ftype) Map key to a file of type ftype with the contents of hostpath. rump_pub_etfs_register_withsize(key, hostpath, ftype, begin, size) Like the above, but map only [begin, begin+size] from hostpath. This is useful when mapping disk images where only one partition is relevant to the application. If size is given the special value RUMP_ETFS_SIZE_ENDOFF, the underlying file is mapped from begin to the end of the file. rump_pub_etfs_remove(key) Remove etfs mapping for key. This routine may be called only if the file related to the mapping is not in use. EXAMPLES
Map a host image file to a mountable /dev/harddisk path using window offsets from the disklabel. rump_pub_etfs_register_withsize("/dev/harddisk", "disk.img", RUMP_ETFS_BLK, pp->p_offset << DEV_BSHIFT, pp->p_size << DEV_BSHIFT); Make the host kernel module directory hierarchy available within the rump kernel. rump_pub_etfs_register("/stand/i386/5.99.41", "/stand/i386/5.99.41", RUMP_ETFS_DIR_SUBDIRS); SEE ALSO
rump(3) HISTORY
rump_etfs first appeared in NetBSD 6.0. BSD
February 3, 2011 BSD

Check Out this Related Man Page

RUMP_CD9660(8)						    BSD System Manager's Manual 					    RUMP_CD9660(8)

NAME
rump_cd9660 -- mount a cd9660 image with a userspace server SYNOPSIS
file-system PUFFS pseudo-device putter rump_cd9660 [options] image mountpoint DESCRIPTION
NOTE! This manual page describes features specific to the rump(3) file server. Please see mount_cd9660(8) for a full description of the available command line options. The rump_cd9660 utility can be used to mount cd9660 file systems. It uses rump(3) and p2k(3) to facilitate running the file system as a server in userspace. As opposed to mount_cd9660(8), rump_cd9660 does not use file system code within the kernel and therefore does not require kernel support except puffs(4). Apart from a minor speed penalty there is no downside with respect to in-kernel code. rump_cd9660 does not require using vnconfig(8) for mounts from regular files and the file path can be passed directly as the image parameter. In fact, the use of vnconfig(8) is discouraged, since it is unable to properly deal with images on sparse files. In case the image contains multiple partitions, the desired partition must be indicated by appending the token ``%DISKLABEL:p%'' to the image path. The letter ``p'' specifies the partition as obtained via disklabel(8). For example, to mount partition ``e'' from image /tmp/wd0.img, use ``/tmp/wd0.img%DISKLABEL:e%''. It is recommended that untrusted file system images be mounted with rump_cd9660 instead of mount_cd9660(8). Corrupt file system images com- monly cause the file system to crash the entire kernel, but with rump_cd9660 only the userspace server process will dump core. To use rump_cd9660 via mount(8), the flags -o rump and -t cd9660 should be given. Similarly, rump_cd9660 is used instead of mount_cd9660(8) if ``rump'' is added to the options field of fstab(5). SEE ALSO
p2k(3), puffs(3), rump(3), mount_cd9660(8) HISTORY
The rump_cd9660 utility first appeared in NetBSD 5.0. BSD
November 21, 2010 BSD
Man Page