History log of /src/sys/rump/librump/rumpvfs |
Revision | Date | Author | Comments |
1.1 | 19-Nov-2008 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.1.10.2 | 04-May-2009 |
yamt | sync with head.
|
1.1.10.1 | 19-Nov-2008 |
yamt | file Makefile was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.1.6.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.1.6.1 | 19-Nov-2008 |
skrll | file Makefile was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.1.4.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.1.4.1 | 19-Nov-2008 |
mjf | file Makefile was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.52 | 22-Apr-2023 |
riastradh | rumpvfs: Link in secmodel_extensions_vfs.c as intended, like kernel.
Forgot to commit this part when splitting up secmodel_extensions.c.
|
1.51 | 22-Apr-2023 |
riastradh | rump: Move vnode_if.c from rumpkern to rumpvfs.
This has become increasingly less of a `fully dynamic interface', and the need for it in the rest of sys/kern/ has been obviated, so let's put it where it belongs in rumpvfs.
|
1.50 | 16-May-2020 |
christos | Add ACL support for FFS. From FreeBSD.
|
1.49 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.48 | 19-Oct-2015 |
pooka | Add a COMMENT describing what each component roughly does.
"make describe" prints the comment.
Requested/inspired by Vincent Schwarzer on rumpkernel-users
|
1.47 | 06-May-2015 |
hannken | Remove miscfs/syncfs and
- move the syncer into kern/vfs_subr.c.
- change the syncer to process the mountlist and VFS_SYNC as appropriate.
- use an API for mount points similiar to the API for vnodes: - vfs_syncer_add_to_worklist(struct mount *mp) to add - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.
No objections on tech-kern@
|
1.46 | 23-Apr-2015 |
pooka | Rename RUMP_COMPAT to RUMP_NBCOMBAT to better signify what the variable does.
|
1.45 | 22-Apr-2015 |
pooka | Build compat code only when specified by RUMP_COMPAT
|
1.44 | 22-Apr-2015 |
pooka | rename rumpvfs/compat.c to rumpvfs/rumpvfs_compat50.c
|
1.43 | 02-Dec-2014 |
pooka | Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR, with the default provided by Makefile.rump (they're all 0.0 anyway)
|
1.42 | 09-Nov-2014 |
pooka | branches: 1.42.2; Move rump kernel man pages from various sources to sys/rump
namely: * src/lib is used only when building for POSIX'y platforms, but the man pages have their use for all platforms * rumpuser.3 is a function of the rump kernel, not one of the of the POSIX'y implementation hosted in src/lib/librumpuser
no functional change
|
1.41 | 27-Apr-2014 |
pooka | Eliminate weak symbols from rump kernel syscall handlers, part 7:
Build component constructors which establish syscalls at boottime.
|
1.40 | 27-Feb-2014 |
hannken | branches: 1.40.2; Currently dead vnodes still reside on the vnodelist of the file system they have been removed from.
Create a "dead mount" that takes dead vnodes until they get freed.
Discussed on tech-kern.
|
1.39 | 09-Dec-2013 |
pooka | Now that Makefile.rump is included here first, do not override any SRCS it adds. This is required for linksyms_sun.c used when linking with the Solaris linker.
|
1.38 | 09-Dec-2013 |
pooka | Make ktrace a compile-time option
|
1.37 | 09-Dec-2013 |
pooka | Support ktrace for rump kernels.
Requested by Justin Cormack on rumpkernel-users.
|
1.36 | 15-Mar-2013 |
pooka | branches: 1.36.6; Allow Makefile.rump to append to SRCS.
|
1.35 | 13-May-2012 |
dholland | branches: 1.35.2; Revert previous. It seems that some or all makefiles in tests/ do not bother to set DPADD and thereby fail silently on library changes.
|
1.34 | 13-May-2012 |
dholland | quota1_subr.c and vfs_quotactl.c are not needed here any more.
|
1.33 | 08-May-2012 |
riastradh | Implement a genfs_rename abstraction.
First major step in incrementally adapting all the file systems to a saner rename VOP protocol.
|
1.32 | 29-Jan-2012 |
dholland | branches: 1.32.2; Add vfs_quotactl.c. This is where filesystem-independent quota handling will go.
|
1.31 | 02-Apr-2011 |
rmind | branches: 1.31.4; 1.31.8; Split off parts of vfs_subr.c into vfs_vnode.c and vfs_mount.c modules.
No functional change. Discussed on tech-kern@.
|
1.30 | 24-Mar-2011 |
bouyer | Add a new libquota library, which contains some blocks to build and/or parse quota plists; as well as a getfsquota() function to retrieve quotas for a single id from a single filesystem (whatever filesystem this is: a local quota-enabled fs or NFS). This is build on functions getufsquota() (for local filesystems with UFS-like quotas) and getnfsquota(); which are also available to userland programs. move functions from quota2_subr.c to libquota or libprop as appropriate, and ajust in-tree quota tools. move some declarations from kernel headers to either sys/quota.h or quota/quota.h as appropriate. ufs/ufs/quota.h still installed because it's needed by other installed ufs headers. ufs/ufs/quota1.h still installed as a quick&dirty way to get a code using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of ufs/ufs/quota.h - old code won't compile without this change and this is on purpose). Discussed on tech-kern@ and tech-net@ (long thread, but not much about libquota itself ...)
|
1.29 | 06-Mar-2011 |
bouyer | merge the bouyer-quota2 branch. This adds a new on-disk format to store disk quota usage and limits, integrated with ffs metadata. Usage is checked by fsck_ffs (no more quotacheck) and is covered by the WAPBL journal. Enabled with kernel option QUOTA2 (added where QUOTA was enabled in kernel config files), turned on with tunefs(8) on a per-filesystem basis. mount_mfs(8) can also turn quotas on.
See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html for details.
|
1.28 | 21-Apr-2010 |
pooka | branches: 1.28.2; 1.28.4; Move sys_module from vfs to kern -- while modules cannot be loaded, there's not forbidden about querying the list of (builtin) modules even when running without vfs.
|
1.27 | 12-Apr-2010 |
pooka | Support real file system transactions/suspension (vfs_trans.c) instead of just stubbing it.
|
1.26 | 29-Mar-2010 |
pooka | Support fifofs in rump. Do not include it in rumpvfs directly, since it involves some very non-fs'y components like sockets and local domain networking. Also (for better or worse?), call it rump*v*fs_fifofs instead of rumpfs_fifofs, since it does not really provide a file system driver.
XXX: uses duplicate common symbols and functionality depends on link order ... (but at least it works better than before this change)
|
1.25 | 08-Mar-2010 |
pooka | branches: 1.25.2; mfs miniroot is mandatory
|
1.24 | 16-Feb-2010 |
pooka | Globally define -Wno-pointer-sign, as it has become a pointless exercise of "add it to every Makefile individually".
XXX: should autosynchronize with the rest of the kernel buildflags in sys/conf/Makefile.kern.inc.
|
1.23 | 17-Dec-2009 |
pooka | branches: 1.23.2; Add devnull.c to sources (forgot to do it yesterday). Thanks to gson for the ping.
|
1.22 | 09-Dec-2009 |
pooka | Since rumpfs is no longer a module, remove rump_module from the list of sources. This, in a rather curious twist of linker magic, broke anything using rump file systems when librumpvfs was compiled with LIBDPLIBS pointing to librump.
Thanks to the several people who reported the problem, and especially Arnaud Ysmal for noticing the paramount symptom that components compiled in src/lib did not work while ones compiled in sys/rump/librump did work.
|
1.21 | 27-Nov-2009 |
pooka | include subr_kobj_vfs
|
1.20 | 26-Nov-2009 |
pooka | For rumpfs, do mountroot instead of the bunch of homegrown hacks currently there. Still needs a little massage to get the kernel interfaces right and avoid copypaste especially from main().
Also, move it a bit more into the direction of a real file system (finally!) by giving it a vfsops. Most ops are still unimplemented, though.
|
1.19 | 26-Nov-2009 |
pooka | Include kern_module_vfs and the modctl() syscall. The modctl() syscall is here because module loading is a vfs operation. Theoretically you shouldn't be able to have modules without vfs support.
|
1.18 | 20-Oct-2009 |
pooka | Actually, put uvm_readahead into rumpkern, since while it's technically vfs stuff, sys_descrip depends on it and readahead itself uses only the pager interface.
|
1.17 | 14-Oct-2009 |
pooka | Adjust rump sources for external/internal interfaces. No functional change.
|
1.16 | 07-Oct-2009 |
pooka | Use uvm_readahead.c instead of null stubs.
|
1.15 | 07-Oct-2009 |
pooka | space -> tab in one entry for consistency
|
1.14 | 04-Oct-2009 |
pooka | Include firmload. Although it may be used by devices, it's pure vfs in nature, and therefore it belongs here (can't load a firmware from a file system without file system support, right?). Rename rump_cwdi to cwdi0, since firmload depends on that name (naughty firmload).
|
1.13 | 06-Sep-2009 |
pooka | Rename rump_dev_makenodes() to rump_vfs_makedevnodes() -- while it will most likely be used devices, the implementation requires services provided by vfs (mkdir, mknod).
|
1.12 | 07-Aug-2009 |
pooka | Move genfs_io.c from rump SRCS to genfs SRCS. Aesthetic commit, no functional change.
|
1.11 | 05-Aug-2009 |
pooka | Use uvm_vnode.c instead of homerolled stuff.
|
1.10 | 03-Aug-2009 |
pooka | Support read/write in rumpblk via physio()
|
1.9 | 10-Jun-2009 |
pooka | libkern is fully included in rumpkern, no need for cherry-picking modules elsewhere.
|
1.8 | 09-Jun-2009 |
pooka | Put some spunk into deadfs.
|
1.7 | 22-May-2009 |
pooka | Add handrolled stat30 compat syscalls for calling post-time_t rump kernels from pre-time_t userlands.
|
1.6 | 19-Mar-2009 |
pooka | branches: 1.6.2; Make it possible to mount a file system through the mount() system call in addition to the old rump_mnt_mount(). Some issues remain (but require more deeprooted changes): * it is possible to mount only to / * unmount needs MNT_FORCE due to the new fs being root and having a bonus reference * cwdi is not set (since there is no concept of a process)
|
1.5 | 13-Jan-2009 |
pooka | branches: 1.5.2; 1.5.4; 1.5.6; include vfs_lockf.c
|
1.4 | 13-Jan-2009 |
pooka | Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.3 | 01-Jan-2009 |
pooka | Purge multiple kernel opt files.
|
1.2 | 19-Dec-2008 |
pooka | include vfs_xattr.c
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.5.6.2 | 23-Jul-2009 |
jym | Sync with HEAD.
|
1.5.6.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.5.4.3 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.5.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.5.4.1 | 13-Jan-2009 |
skrll | file Makefile.rumpvfs was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.5.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.5.2.1 | 13-Jan-2009 |
mjf | file Makefile.rumpvfs was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.6.2.7 | 11-Aug-2010 |
yamt | sync with head.
|
1.6.2.6 | 11-Mar-2010 |
yamt | sync with head
|
1.6.2.5 | 16-Sep-2009 |
yamt | sync with head
|
1.6.2.4 | 19-Aug-2009 |
yamt | sync with head.
|
1.6.2.3 | 20-Jun-2009 |
yamt | sync with head
|
1.6.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.6.2.1 | 19-Mar-2009 |
yamt | file Makefile.rumpvfs was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.23.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.25.2.2 | 21-Apr-2011 |
rmind | sync with head
|
1.25.2.1 | 30-May-2010 |
rmind | sync with head
|
1.28.4.2 | 18-Feb-2011 |
bouyer | quota2_subr.c is not used outside of ufs_quota2.c in kernel, so make it compiled conditionally on QUOTA2 again
|
1.28.4.1 | 15-Feb-2011 |
bouyer | Implement COMPAT_50 quotactl(2)
|
1.28.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.31.8.2 | 02-Jun-2012 |
mrg | sync to latest -current.
|
1.31.8.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.31.4.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.31.4.2 | 23-May-2012 |
yamt | sync with head.
|
1.31.4.1 | 17-Apr-2012 |
yamt | sync with head
|
1.32.2.1 | 02-Jul-2012 |
jdc | Pull up revisions: src/sys/conf/files revision 1.1050 src/sys/miscfs/genfs/genfs.h revision 1.30 via patch src/sys/miscfs/genfs/genfs_rename.c revision 1.1 via patch src/sys/rump/librump/rumpvfs/Makefile.rumpvfs revision 1.33 (requested by riastradh in ticket #286).
Implement a genfs_rename abstraction.
First major step in incrementally adapting all the file systems to a saner rename VOP protocol.
|
1.35.2.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.35.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.35.2.1 | 23-Jun-2013 |
tls | resync from head
|
1.36.6.1 | 18-May-2014 |
rmind | sync with head
|
1.40.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.42.2.4 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.42.2.3 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.42.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.42.2.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.11 | 22-Apr-2015 |
pooka | rename rumpvfs/compat.c to rumpvfs/rumpvfs_compat50.c
|
1.10 | 15-Aug-2013 |
pooka | branches: 1.10.6; remove includes which haven't been necessary since the cudgel war
|
1.9 | 17-Jan-2011 |
pooka | branches: 1.9.6; 1.9.16; 1.9.20; use compat code from sys/compat/common
|
1.8 | 04-Jan-2011 |
pooka | branches: 1.8.2; Add NetBSD 5 compat wrapping for *utimes()
|
1.7 | 30-Aug-2010 |
pooka | do 5.0 compat for fstat
|
1.6 | 19-Jul-2010 |
pooka | * move stat syscalls to newstyle compat * implement compat for pollts
|
1.5 | 14-Oct-2009 |
pooka | branches: 1.5.2; 1.5.4; "rumppriv" goes back to "rump" per internal interface naming change.
|
1.4 | 14-Oct-2009 |
pooka | Adjust rump sources for external/internal interfaces. No functional change.
|
1.3 | 24-May-2009 |
mlelstv | branches: 1.3.2; <sys/syscallargs.h> requires <sys/sched.h> to define cpuset_t.
|
1.2 | 22-May-2009 |
pooka | Add compat routines for vattr translation over time_t change.
|
1.1 | 22-May-2009 |
pooka | Add handrolled stat30 compat syscalls for calling post-time_t rump kernels from pre-time_t userlands.
|
1.3.2.5 | 09-Oct-2010 |
yamt | sync with head
|
1.3.2.4 | 11-Aug-2010 |
yamt | sync with head.
|
1.3.2.3 | 11-Mar-2010 |
yamt | sync with head
|
1.3.2.2 | 20-Jun-2009 |
yamt | sync with head
|
1.3.2.1 | 24-May-2009 |
yamt | file compat.c was added on branch yamt-nfs-mp on 2009-06-20 07:20:36 +0000
|
1.5.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.5.2.2 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.5.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.8.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.9.20.1 | 28-Aug-2013 |
rmind | sync with head
|
1.9.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.9.16.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.9.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.10.6.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.13 | 18-Jun-2019 |
kamil | Drop unused retval pointer from do_sys_mknod{,at}()
No functional change intended.
|
1.12 | 26-Jan-2016 |
pooka | branches: 1.12.18; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.11 | 08-Jun-2015 |
pooka | Allow device components to create symlinks in /dev e.g. /dev/audio -> audio0
from Robert Millan <rmh@freebsd.org> via rumpkernel-users
|
1.10 | 20-Jun-2014 |
pooka | branches: 1.10.4; Fix error return for rump_vfs_makeonedevnode()
from Ian Jackson <Ian.Jackson@eu.citrix.com>
|
1.9 | 20-Mar-2014 |
christos | branches: 1.9.2; kill sprintf
|
1.8 | 07-Mar-2013 |
pooka | branches: 1.8.6; Make the device node creation routines function pointers which default to nullop without VFS. This relaxes the dependency between VFS and many components, some of which can be used perfectly fine without VFS.
|
1.7 | 21-Sep-2012 |
joerg | Don't use NODEV when comparing against a major number as this is an impossible type mismatch.
|
1.6 | 10-Feb-2011 |
pooka | branches: 1.6.4; 1.6.14; Make it possible to specify a minor number for an autogenerated device node.
|
1.5 | 30-Apr-2010 |
pooka | branches: 1.5.2; 1.5.4; Autogenerate /dev nodes. Use (recreate) the naming policy in MAKEDEV. -- Not the famous irrational file system devfs, but an incredible simulation.
|
1.4 | 17-Dec-2009 |
pooka | branches: 1.4.2; 1.4.4; * implement rump_vfs_makeonedevnode(), where the interface for creating multiple nodes doesn't make sense: e.g. /dev/null would've had to be created with ("/dev/nul", 'l', 1) * implement said /dev/null (just for show)
|
1.3 | 03-Dec-2009 |
tron | Make sure "error" gets initialised.
|
1.2 | 03-Dec-2009 |
pooka | * create /dev on the rump rootfs automatically * make rump_vfs_makedevnodes() take a full basepath instead of hardcoding an assumption that the device node is created in /dev + the caller is responsible that the directory the nodes are being created in exists
|
1.1 | 06-Sep-2009 |
pooka | branches: 1.1.2; Rename rump_dev_makenodes() to rump_vfs_makedevnodes() -- while it will most likely be used devices, the implementation requires services provided by vfs (mkdir, mknod).
|
1.1.2.4 | 11-Aug-2010 |
yamt | sync with head.
|
1.1.2.3 | 11-Mar-2010 |
yamt | sync with head
|
1.1.2.2 | 16-Sep-2009 |
yamt | sync with head
|
1.1.2.1 | 06-Sep-2009 |
yamt | file devnodes.c was added on branch yamt-nfs-mp on 2009-09-16 13:38:05 +0000
|
1.4.4.2 | 05-Mar-2011 |
rmind | sync with head
|
1.4.4.1 | 30-May-2010 |
rmind | sync with head
|
1.4.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.5.4.1 | 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.5.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.6.14.4 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.6.14.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.6.14.2 | 23-Jun-2013 |
tls | resync from head
|
1.6.14.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.6.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.6.4.1 | 30-Oct-2012 |
yamt | sync with head
|
1.8.6.1 | 18-May-2014 |
rmind | sync with head
|
1.9.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.10.4.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.10.4.1 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.12.18.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.8 | 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.7 | 26-Jan-2016 |
pooka | branches: 1.7.2; 1.7.8; 1.7.16; 1.7.18; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.6 | 25-Jul-2014 |
dholland | branches: 1.6.4; Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
|
1.5 | 16-Mar-2014 |
dholland | branches: 1.5.2; Change (mostly mechanically) every cdevsw/bdevsw I can find to use designated initializers.
I have not built every extant kernel so I have probably broken at least one build; however I've also found and fixed some wrong cdevsw/bdevsw entries so even if so I think we come out ahead.
|
1.4 | 04-Apr-2013 |
pooka | branches: 1.4.4; create null devices
|
1.3 | 10-Feb-2011 |
pooka | branches: 1.3.4; 1.3.14; support /dev/zero
|
1.2 | 07-Jul-2010 |
pooka | branches: 1.2.2; 1.2.4; Borrow /dev/mem major from i386 for /dev/null and autogenerate node.
|
1.1 | 17-Dec-2009 |
pooka | branches: 1.1.2; 1.1.4; 1.1.6; * implement rump_vfs_makeonedevnode(), where the interface for creating multiple nodes doesn't make sense: e.g. /dev/null would've had to be created with ("/dev/nul", 'l', 1) * implement said /dev/null (just for show)
|
1.1.6.1 | 05-Mar-2011 |
rmind | sync with head
|
1.1.4.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.1.4.2 | 11-Mar-2010 |
yamt | sync with head
|
1.1.4.1 | 17-Dec-2009 |
yamt | file devnull.c was added on branch yamt-nfs-mp on 2010-03-11 15:04:39 +0000
|
1.1.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.2.4.1 | 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.2.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.3.14.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.14.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.3.14.1 | 23-Jun-2013 |
tls | resync from head
|
1.3.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.4.4.1 | 18-May-2014 |
rmind | sync with head
|
1.5.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.6.4.1 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.7.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.7.16.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.7.8.2 | 29-Apr-2017 |
pgoyette | Remove more unnecessary #include for sys/localcount.h
|
1.7.8.1 | 27-Apr-2017 |
pgoyette | Restore all work from the former pgoyette-localcount branch (which is now abandoned doe to cvs merge botch).
The branch now builds, and installs via anita. There are still some problems (cgd is non-functional and all atf tests time-out) but they will get resolved soon.
|
1.7.2.3 | 26-Jul-2016 |
pgoyette | Rename LOCALCOUNT_INITIALIZER to DEVSW_MODULE_INIT. This better describes what we're doing, and why.
|
1.7.2.2 | 19-Jul-2016 |
pgoyette | Instead of repeatedly typing the conditional initialization of the .d_localcount members in the various {b,c}devsw, define an initializer macro and use it. This also removes the need for defining new symbols for each 'struct localcount'.
As suggested by riastradh@
|
1.7.2.1 | 18-Jul-2016 |
pgoyette | Rump drivers are always installed via devsw_attach() so we need to always allocate a 'struct localcount' for these drivers whenever they are built as modules.
|
1.3 | 12-Apr-2010 |
pooka | Support real file system transactions/suspension (vfs_trans.c) instead of just stubbing it.
|
1.2 | 18-Dec-2008 |
pooka | branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.12; __KERNEL_RCSID
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.2.12.1 | 30-May-2010 |
rmind | sync with head
|
1.2.10.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.2.8.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.2.8.2 | 04-May-2009 |
yamt | sync with head.
|
1.2.8.1 | 18-Dec-2008 |
yamt | file fstrans_stub.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.2.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.2.4.1 | 18-Dec-2008 |
skrll | file fstrans_stub.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.2.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.2.2.1 | 18-Dec-2008 |
mjf | file fstrans_stub.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.14 | 06-Aug-2009 |
pooka | Switch rump from the handwritten vnode pager to the standard kernel vnode pager.
It would have been nice to keep a separate version: * it has helped find file system bugs which the kernel pager treated as non-errors * it does not contain extra payload unnecessary in userspace
However, getting the details of the pager implementation correct with all the flags, offsets and block/page size special cases is *EXTREMELY* difficult (chuq > god).
On the plus side, LFS write now works for file data too instead of just metadata. Also, maybe being able to singlestep the genfs vnode pager in the comfort of userspace will allow more people to understand how the behemoth functions.
|
1.13 | 18-Apr-2009 |
pooka | branches: 1.13.2; * actually do syncer list add/remove instead of just pretending to play VI_ONWORKLST games * honor PGO_LOCKED in getpages wrt. to interlock (no, we don't have a fault routine, so we don't need to seriously honor it)
|
1.12 | 18-Apr-2009 |
pooka | Move genfs_null_putpages() from genfs_io.c to genfs_vnops.c -- it does not really do i/o.
|
1.11 | 06-Apr-2009 |
pooka | let drivers define DPRINTF
|
1.10 | 26-Mar-2009 |
pooka | Handle eof a bit differently. E.g. ffs and msdosfs seem to have a quite different opinion about what happens in bmap beyond EOF, so avoid calling it.
|
1.9 | 23-Mar-2009 |
pooka | Support async writes, can benefit mmio case.
|
1.8 | 22-Mar-2009 |
pooka | Remove clearly incorrect constraint: can't compare range against eof if offset != start.
|
1.7 | 05-Feb-2009 |
pooka | branches: 1.7.2; * fix a bug where we would try to lock a PG_FAKE page twice * do not panic if VOP_STRATEGY fails. it's someone else's problem * return the actual number of pages we provided, not just the ones which contain data * sprinkle some debug prints
|
1.6 | 31-Jan-2009 |
pooka | flags|=PG_WANTED instead of flags=PG_WANTED
|
1.5 | 18-Dec-2008 |
pooka | branches: 1.5.2; 1.5.4; __KERNEL_RCSID
|
1.4 | 16-Dec-2008 |
pooka | Mark pages busy during VOP_PUTPAGES(). Deals with KASSERT in nfs write.
|
1.3 | 16-Dec-2008 |
pooka | Make rumpflushva flush only the atop info for a certain uvm object. Better, but still not completely race-free (if two threads call RUMP_VOP_PUTPAGES() directly for the same vm object).
|
1.2 | 21-Nov-2008 |
pooka | Make sure we write a positive length of data.
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.5.4.4 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.5.4.3 | 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.5.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.5.4.1 | 18-Dec-2008 |
skrll | file genfs_io.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.5.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.5.2.1 | 18-Dec-2008 |
mjf | file genfs_io.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.7.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.13.2.3 | 19-Aug-2009 |
yamt | sync with head.
|
1.13.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.13.2.1 | 18-Apr-2009 |
yamt | file genfs_io.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.4 | 12-Jun-2015 |
dholland | branches: 1.4.16; Punctuate properly.
|
1.3 | 28-Apr-2015 |
prlw1 | Fix typos
|
1.2 | 18-Mar-2015 |
pooka | "rump" -> "rump kernel" police
|
1.1 | 09-Nov-2014 |
pooka | branches: 1.1.2; Move rump kernel man pages from various sources to sys/rump
namely: * src/lib is used only when building for POSIX'y platforms, but the man pages have their use for all platforms * rumpuser.3 is a function of the rump kernel, not one of the of the POSIX'y implementation hosted in src/lib/librumpuser
no functional change
|
1.1.2.3 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.4.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.4.16.1 | 12-Jun-2015 |
jdolecek | file rump_etfs.3 was added on branch tls-maxphys on 2017-12-03 11:39:17 +0000
|
1.97 | 23-Sep-2023 |
ad | Repply this change with a couple of bugs fixed:
- Do away with separate pool_cache for some kernel objects that have no special requirements and use the general purpose allocator instead. On one of my test systems this makes for a small (~1%) but repeatable reduction in system time during builds presumably because it decreases the kernel's cache / memory bandwidth footprint a little. - vfs_lockf: cache a pointer to the uidinfo and put mutex in the data segment.
|
1.96 | 12-Sep-2023 |
ad | Back out recent change to replace pool_cache with then general allocator. Will return to this when I have time again.
|
1.95 | 10-Sep-2023 |
ad | - Do away with separate pool_cache for some kernel objects that have no special requirements and use the general purpose allocator instead. On one of my test systems this makes for a small (~1%) but repeatable reduction in system time during builds presumably because it decreases the kernel's cache / memory bandwidth footprint a little. - vfs_lockf: cache a pointer to the uidinfo and put mutex in the data segment.
|
1.94 | 26-Oct-2022 |
riastradh | sys/filedesc.h: New home for extern cwdi0.
|
1.93 | 25-Apr-2020 |
bouyer | Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM guests in GENERIC. Xen support can be disabled at runtime with boot -c disable hypervisor
|
1.92 | 20-Apr-2020 |
ad | Rename buf_syncwait() to vfs_syncwait(), and have it wait on v_numoutput rather than BC_BUSY. Removes the dependency on bufhash.
|
1.91 | 13-Apr-2020 |
ad | Replace most uses of vp->v_usecount with a call to vrefcnt(vp), a function that hides the details and does atomic_load_relaxed(). Signature matches FreeBSD.
|
1.90 | 23-Feb-2020 |
ad | branches: 1.90.4; UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
1.89 | 17-Jan-2020 |
ad | VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to allow us to get shared locks (or no lock) on the returned vnode. Matches FreeBSD.
|
1.88 | 20-Feb-2019 |
hannken | branches: 1.88.6; Attach "mnt_transinfo" to "dead_rootmount" so every mount has a valid "mnt_transinfo" and remove now unneeded flag IMNT_HAS_TRANS.
Run fstrans_start()/fstrans_done() on dead_rootmount if FSTRANS_DEAD_ENABLED. Should become the default for DIAGNOSTIC in the future.
|
1.87 | 01-Apr-2017 |
riastradh | branches: 1.87.14; KASSERT(mutex_owned(vp->v_interlock)) in vnode iterator selector.
|
1.86 | 17-Nov-2016 |
pgoyette | branches: 1.86.2; In addition to initializing the bufq subsystem, we also need to init the individual strategy modules.
|
1.85 | 16-Nov-2016 |
pgoyette | Initialize the bufq stuff for rump, too.
This should fix the large number of tests that recently started to fail.
|
1.84 | 26-Jan-2016 |
pooka | branches: 1.84.2; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.83 | 22-Jul-2015 |
hannken | rump_vfs_mount_print: use vfs_vnode_iterator to print attached vnodes.
|
1.82 | 06-May-2015 |
hannken | Remove miscfs/syncfs and
- move the syncer into kern/vfs_subr.c.
- change the syncer to process the mountlist and VFS_SYNC as appropriate.
- use an API for mount points similiar to the API for vnodes: - vfs_syncer_add_to_worklist(struct mount *mp) to add - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.
No objections on tech-kern@
|
1.81 | 17-Nov-2014 |
pooka | branches: 1.81.2; Release all hypervisor-level resources for rump_etfs paths when the rump kernel is halted.
Allows a Xen domU to not complain after it was shut down, or something like that. Requested by Martin Lucina.
|
1.80 | 23-May-2014 |
pooka | Permissions work better if you specify them in octal ...
Also, do an explicit chmod of /tmp to account for cmask getting in the way.
|
1.79 | 22-May-2014 |
pooka | create /tmp at bootstrap, default TMPDIR used by some programs (e.g. ed)
|
1.78 | 25-Apr-2014 |
pooka | gardenize: function calls over #ifdefs
|
1.77 | 10-Jun-2013 |
pooka | branches: 1.77.2; 1.77.6; create /dev with 0755 instead of 0777 (though it's now effectively the same due to cmask)
|
1.76 | 29-Apr-2013 |
pooka | g/c unused
|
1.75 | 29-Apr-2013 |
pooka | Replace the various "get info from hypervisor" interfaces with one unified rumpuser_getparam(), and make it return a plist. The contents can come e.g. from the env or a config file. Make identifiers starting with an underscore denote system identifiers which must be implemented by hypervisor. (yea, j/k about the plist bit)
|
1.74 | 29-Apr-2013 |
pooka | Rework how the bio hypercalls work, part 1/n:
Reduce the set of hypercalls to one: "do block i/o". This not only eliminates a lot of pseudo-duplicate code, it also gives the hypervisor a lot more freedom on how to optimize the i/o.
|
1.73 | 04-Apr-2013 |
pooka | create /dev/null only after it's possible to create /dev/null
|
1.72 | 03-Apr-2013 |
pooka | Don't create a huge number of unnecessary device nodes automatically. Creating them takes 70-or-so ms on a RPi, and can almost double the bootstrap time of a rump kernel on that hardware.
|
1.71 | 14-Jan-2013 |
pooka | Don't use __weak_alias where the component framework is sufficient.
|
1.70 | 22-Nov-2012 |
pooka | satisfy the slightly more picky clang
|
1.69 | 18-Nov-2012 |
pooka | Finally remove the "temporary" __VTYPE_DEFINED stuff I added >5 years ago.
|
1.68 | 05-Nov-2012 |
dholland | Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
1.67 | 04-Jul-2011 |
mrg | branches: 1.67.2; 1.67.12; don't define multiple cwdi0's, mark this one as extern.
fixes various mips build issues i've seen with both GCC 4.1 and 4.5.
|
1.66 | 12-Jun-2011 |
rmind | Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.65 | 07-Jan-2011 |
pooka | branches: 1.65.6; Censor no-longer-relevant flags which may be passed down from somewhere (e.g. an older kernel). We really can't do anything about new flags or flags changing meaning, though.
|
1.64 | 06-Jan-2011 |
pooka | cwdi0 lock is now initialized in proc0_init()
|
1.63 | 30-Nov-2010 |
pooka | remove unnecessary interface
|
1.62 | 30-Nov-2010 |
pooka | fix broken rototill
|
1.61 | 30-Nov-2010 |
dholland | SAVENAME and HASBUF namei flags have been removed; update rumpvfs accordingly.
|
1.60 | 21-Nov-2010 |
pooka | I can't think of any reason why a rump kernel has to allow vfsusermount by default, nor do I remember why i originally added it in 2008 ==> remove.
|
1.59 | 19-Nov-2010 |
dholland | Introduce struct pathbuf. This is an abstraction to hold a pathname and the metadata required to interpret it. Callers of namei must now create a pathbuf and pass it to NDINIT (instead of a string and a uio_seg), then destroy the pathbuf after the namei session is complete.
Update all namei call sites accordingly. Add a pathbuf(9) man page and update namei(9).
The pathbuf interface also now appears in a couple of related additional places that were passing string/uio_seg pairs that were later fed into NDINIT. Update other call sites accordingly.
|
1.58 | 07-Sep-2010 |
pooka | Make the Diabolical (Page)Daemon Director drain vfs buffers when we are short of memory.
There are still some funnies left to iron out. For example, with a certain file system / memory size configuration it's still not possible to create enough files to make the file system run out of inodes before the kernel runs out of memory. Also, with some other configurations disk access slows down gargantually (though i'm sure there are >0 buffers available). Anyway, it ~works for now and it's by no means worse than what it was before.
|
1.57 | 07-Sep-2010 |
pooka | Retire the prehistoric chroot/cwd interfaces now that there is a process model in rump.
|
1.56 | 30-Jun-2010 |
pooka | Run vfs component constructors.
|
1.55 | 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.54 | 08-Jun-2010 |
pooka | The previous revision worked brilliantly if all you wanted to test was autoload *not* working with an alternate path. This revision make the code double as good in the sense that it now works also in case you *do* want it to work.
|
1.53 | 08-Jun-2010 |
pooka | Allow to set a non-standard module_base for host kernel module loading.
|
1.52 | 26-May-2010 |
pooka | Add public namespace helper routine for dumping info on mountpoints.
|
1.51 | 20-May-2010 |
pooka | open VFS_EXTATTRCTL to user namespace
|
1.50 | 11-May-2010 |
pooka | Set default number of vnodes to 1k instead of 64k: a large default reserves a large amount of memory by default and this is not desirable in a rump kernel where the typical usage is minimal. Maybe I should write a few lines to autoscale desiredvnodes up to a hard limit after the soft limit is reached?
|
1.49 | 01-May-2010 |
pooka | cleanup non-used code (superceded by rump_printevcnts)
|
1.48 | 30-Apr-2010 |
pooka | Autogenerate /dev nodes. Use (recreate) the naming policy in MAKEDEV. -- Not the famous irrational file system devfs, but an incredible simulation.
|
1.47 | 26-Apr-2010 |
pooka | Register module_base as an etfs recursive subdirectory. This means that rump will autoload kernel modules from the host /stand/arch/vers/modules directory.
|
1.46 | 21-Apr-2010 |
pooka | Reduce #ifdef spew by attaching wapbl as a module. (no, it's still too ifdef-ridden to be able to actually do anything useful and module-like like load into any kernel)
|
1.45 | 12-Apr-2010 |
pooka | Support real file system transactions/suspension (vfs_trans.c) instead of just stubbing it.
|
1.44 | 26-Mar-2010 |
pooka | rootfstype is not a vfs stub, so it doesn't belong in vfs_stubs
|
1.43 | 05-Mar-2010 |
pooka | branches: 1.43.2; Use improved kernel module interfaces: instead of adding + loading modules in bootstrap, just add them. Load them later the same way as the kernel does: module_init_class().
Change the signature of rump_module_init() to take a vector instead of just one module. All modules in a DSO should be init'd at the same time because they might depend on each other, and code outside the rump kernel cannot know which way. (binary kernel modules are still loaded with rump_sys_modctl() the usual way).
|
1.42 | 17-Dec-2009 |
pooka | branches: 1.42.2; * implement rump_vfs_makeonedevnode(), where the interface for creating multiple nodes doesn't make sense: e.g. /dev/null would've had to be created with ("/dev/nul", 'l', 1) * implement said /dev/null (just for show)
|
1.41 | 03-Dec-2009 |
pooka | * create /dev on the rump rootfs automatically * make rump_vfs_makedevnodes() take a full basepath instead of hardcoding an assumption that the device node is created in /dev + the caller is responsible that the directory the nodes are being created in exists
|
1.40 | 03-Dec-2009 |
pooka | Call spec_init() to avoid device open lossage.
|
1.39 | 03-Dec-2009 |
pooka | Decide it's not worth the fuss to have rumpfs as a module and just hardcode attach into rump_vfs_init(). Saves us from a lot of pingpong init bouncing from one component to another to get the order right.
|
1.38 | 01-Dec-2009 |
pooka | call cache_cpu_init() for all cpus
|
1.37 | 27-Nov-2009 |
pooka | Move rootfs-related init from init_main() to vfs_mountroot(). Reduces code re-written in rump.
|
1.36 | 26-Nov-2009 |
pooka | Make sure rumpfs is attached on all host platforms.
|
1.35 | 26-Nov-2009 |
pooka | For rumpfs, do mountroot instead of the bunch of homegrown hacks currently there. Still needs a little massage to get the kernel interfaces right and avoid copypaste especially from main().
Also, move it a bit more into the direction of a real file system (finally!) by giving it a vfsops. Most ops are still unimplemented, though.
|
1.34 | 19-Nov-2009 |
pooka | Create async i/o "interrupt" thread from within the kernel so that it gets a kernel thread context.
|
1.33 | 15-Oct-2009 |
pooka | rump_cpu is now a pointer
|
1.32 | 14-Oct-2009 |
pooka | "rumppriv" goes back to "rump" per internal interface naming change.
|
1.31 | 14-Oct-2009 |
pooka | Adjust rump sources for external/internal interfaces. No functional change.
|
1.30 | 09-Oct-2009 |
pooka | Provide an interface for reboot.
|
1.29 | 07-Oct-2009 |
pooka | use vref() for increasing reference count instead of homegrown brilliance
|
1.28 | 07-Oct-2009 |
pooka | g/c some prehistoric interfaces which have been superceded by others.
|
1.27 | 06-Oct-2009 |
pooka | Give a p2k node an internal state. This allows us to do proper reference counting and not release nodes based just on puffs' impression of if they are free.
This also allows us to reclaim vnodes already in inactive if the file system so desires. Some file systems, most notably ffs, change file state already in inactive. This could lead to a deadlock in the middle of inactive and reclaim if some other puffs operation was processed in between (as exposed by haad's open(at) test program).
Also, properly thread the componentname from lookup to the actual vnode operation. This required the changes the rump componentname routines. Yes, the rename case is truly mindbogglingly disgusting. Puke for yourself.
|
1.26 | 04-Oct-2009 |
pooka | Include firmload. Although it may be used by devices, it's pure vfs in nature, and therefore it belongs here (can't load a firmware from a file system without file system support, right?). Rename rump_cwdi to cwdi0, since firmload depends on that name (naughty firmload).
|
1.25 | 02-Oct-2009 |
elad | First part of secmodel cleanup and other misc. changes:
- Separate the suser part of the bsd44 secmodel into its own secmodel and directory, pending even more cleanups. For revision history purposes, the original location of the files was
src/sys/secmodel/bsd44/secmodel_bsd44_suser.c src/sys/secmodel/bsd44/suser.h
- Add a man-page for secmodel_suser(9) and update the one for secmodel_bsd44(9).
- Add a "secmodel" module class and use it. Userland program and documentation updated.
- Manage secmodel count (nsecmodels) through the module framework. This eliminates the need for secmodel_{,de}register() calls in secmodel code.
- Prepare for secmodel modularization by adding relevant module bits. The secmodels don't allow auto unload. The bsd44 secmodel depends on the suser and securelevel secmodels. The overlay secmodel depends on the bsd44 secmodel. As the module class is only cosmetic, and to prevent ambiguity, the bsd44 and overlay secmodels are prefixed with "secmodel_".
- Adapt the overlay secmodel to recent changes (mainly vnode scope).
- Stop using link-sets for the sysctl node(s) creation.
- Keep sysctl variables under nodes of their relevant secmodels. In other words, don't create duplicates for the suser/securelevel secmodels under the bsd44 secmodel, as the latter is merely used for "grouping".
- For the suser and securelevel secmodels, "advertise presence" in relevant sysctl nodes (sysctl.security.models.{suser,securelevel}).
- Get rid of the LKM preprocessor stuff.
- As secmodels are now modules, there's no need for an explicit call to secmodel_start(); it's handled by the module framework. That said, the module framework was adjusted to properly load secmodels early during system startup.
- Adapt rump to changes: Instead of using empty stubs for securelevel, simply use the suser secmodel. Also replace secmodel_start() with a call to secmodel_suser_start().
- 5.99.20.
Testing was done on i386 ("release" build). Spearated module_init() changes were tested on sparc and sparc64 as well by martin@ (thanks!).
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
|
1.24 | 03-Aug-2009 |
pooka | * get rid of the old fakeblk registration interface. Instead, introduce a new and improved "etfs" interface, which can be used to register host files accessible from rump fs namespace. This new interface is not restriced to block devices, and neither does it require the same pathname in host namespace and rump namespace. Therefore, the same host file can be represented both as a char and block device in rump namespace.
* adjust rumpblk to make the above possible
* improve rumpfs: nodes are now created properly and not implicitly tied to the vnode lifecycle
|
1.23 | 29-Jun-2009 |
dholland | Another namei_simple like the previous ones; was added after I did the initial sweep and I guess I missed it while merging.
|
1.22 | 22-May-2009 |
pooka | fix __KERNEL_RCSID
|
1.21 | 04-May-2009 |
pooka | Nuke RUMPCN_HASNTBUF. The inspiration behind it must've been ... deep.
|
1.20 | 03-May-2009 |
pooka | branches: 1.20.2; Rename rump_cred_destroy() to rump_cred_put() -- they've been refcounted since forever now.
|
1.19 | 03-May-2009 |
pooka | Add rump_vfs_getmp(), which returns struct mount for a given path. (yes, it does not take a reference to the mountpoint)
|
1.18 | 01-May-2009 |
pooka | in case of error, return instead of continuing
|
1.17 | 29-Apr-2009 |
pooka | Use cwdinit() for proc0's cwdi.
|
1.16 | 26-Apr-2009 |
pooka | * set syncdelay to 0 only if we don't have a syncer thread * add some #if0'd debug code to unmount for printing event counters
|
1.15 | 18-Apr-2009 |
pooka | If running in multithreaded mode, create sched_sync thread.
|
1.14 | 18-Mar-2009 |
cegger | Ansify function definitions w/o arguments. Generated with sed.
|
1.13 | 22-Feb-2009 |
ad | PR kern/26878 FFSv2 + softdep = livelock (no free ram) PR kern/16942 panic with softdep and quotas PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch PR kern/26274 softdep panic: allocdirect_merge: ... PR kern/26374 Long delay before non-root users can write to softdep partitions PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk PR kern/31981 stopping scsi disk can cause panic (softdep) PR kern/32116 kernel panic in softdep (assertion failure) PR kern/32532 softdep_trackbufs deadlock PR kern/37191 softdep: locking against myself PR kern/40474 Kernel panic after remounting raid root with softdep
Retire softdep, pass 2. As discussed and later formally announced on the mailing lists.
|
1.12 | 06-Feb-2009 |
pooka | branches: 1.12.2; Rip out the rwlock spl emulation code. It never did anything useful except keep my feet warm by consuming an insane amount of cpu cycles -- in rump our current "cpu" context is never interrupted & we have MULTIPROCESSOR.
(itch i'm scratching: it made the networking stack 10-20% slower. this is one of the places where fast code actually matters)
|
1.11 | 13-Jan-2009 |
pooka | branches: 1.11.2; 1.11.4; lf_init()
|
1.10 | 13-Jan-2009 |
pooka | misc cleanup, mainly header polish
|
1.9 | 13-Jan-2009 |
pooka | Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.8 | 31-Dec-2008 |
pooka | yank debug printf from previous
|
1.7 | 31-Dec-2008 |
pooka | Reset proc0 cwdi after unmount. Makes is possible to mount/unmount/mount in one process. (XXX: this code is still horrible)
problem reported by stacktic
|
1.6 | 29-Dec-2008 |
pooka | Register a dummy block device for rump, since some file systems do a sanity check to see if the block device exists. This dummy block device should eventually replace rump specfs.
|
1.5 | 18-Dec-2008 |
pooka | __KERNEL_RCSID
|
1.4 | 27-Nov-2008 |
pooka | * hang all mountpoints from rootvnode in our virtual mount hierarchy * set VV_ROOT for the rootvnode to make getcwd realize it has met its journey's end
|
1.3 | 25-Nov-2008 |
pooka | Take reference for proc0 rootdir vnode.
|
1.2 | 21-Nov-2008 |
pooka | rump_vfs_load() is really rump_module_load(), so call it that and move it from rumpvfs to rumpkern.
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.11.4.4 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.11.4.3 | 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.11.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.11.4.1 | 13-Jan-2009 |
skrll | file rump_vfs.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.11.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.11.2.1 | 13-Jan-2009 |
mjf | file rump_vfs.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.12.2.2 | 23-Jul-2009 |
jym | Sync with HEAD.
|
1.12.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.20.2.9 | 09-Oct-2010 |
yamt | sync with head
|
1.20.2.8 | 11-Aug-2010 |
yamt | sync with head.
|
1.20.2.7 | 11-Mar-2010 |
yamt | sync with head
|
1.20.2.6 | 19-Aug-2009 |
yamt | sync with head.
|
1.20.2.5 | 18-Jul-2009 |
yamt | sync with head.
|
1.20.2.4 | 20-Jun-2009 |
yamt | sync with head
|
1.20.2.3 | 16-May-2009 |
yamt | sync with head
|
1.20.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.20.2.1 | 03-May-2009 |
yamt | file rump_vfs.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.42.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.42.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.42.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.43.2.4 | 05-Mar-2011 |
rmind | sync with head
|
1.43.2.3 | 03-Jul-2010 |
rmind | sync with head
|
1.43.2.2 | 30-May-2010 |
rmind | sync with head
|
1.43.2.1 | 16-Mar-2010 |
rmind | Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
|
1.65.6.1 | 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.67.12.5 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.67.12.4 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.67.12.3 | 23-Jun-2013 |
tls | resync from head
|
1.67.12.2 | 25-Feb-2013 |
tls | resync with head
|
1.67.12.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.67.2.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.67.2.2 | 23-Jan-2013 |
yamt | sync with head
|
1.67.2.1 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.77.6.1 | 10-Aug-2014 |
tls | Rebase.
|
1.77.2.1 | 18-May-2014 |
rmind | sync with head
|
1.81.2.5 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.81.2.4 | 05-Dec-2016 |
skrll | Sync with HEAD
|
1.81.2.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.81.2.2 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.81.2.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.84.2.2 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.84.2.1 | 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.86.2.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.87.14.3 | 21-Apr-2020 |
martin | Sync with HEAD
|
1.87.14.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.87.14.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.88.6.2 | 29-Feb-2020 |
ad | Sync with head.
|
1.88.6.1 | 17-Jan-2020 |
ad | Sync with head.
|
1.90.4.2 | 25-Apr-2020 |
bouyer | Sync with bouyer-xenpvh-base2 (HEAD)
|
1.90.4.1 | 20-Apr-2020 |
bouyer | Sync with HEAD
|
1.20 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.19 | 08-Jun-2015 |
pooka | Allow device components to create symlinks in /dev e.g. /dev/audio -> audio0
from Robert Millan <rmh@freebsd.org> via rumpkernel-users
|
1.18 | 17-Nov-2014 |
pooka | branches: 1.18.2; Release all hypervisor-level resources for rump_etfs paths when the rump kernel is halted.
Allows a Xen domU to not complain after it was shut down, or something like that. Requested by Martin Lucina.
|
1.17 | 07-Mar-2013 |
pooka | Make the device node creation routines function pointers which default to nullop without VFS. This relaxes the dependency between VFS and many components, some of which can be used perfectly fine without VFS.
|
1.16 | 14-Jan-2013 |
pooka | Don't use __weak_alias where the component framework is sufficient.
|
1.15 | 27-Sep-2011 |
christos | branches: 1.15.2; 1.15.12; define RUMPFS_MAXNAMLEN and use it.
|
1.14 | 07-Sep-2010 |
pooka | Make the Diabolical (Page)Daemon Director drain vfs buffers when we are short of memory.
There are still some funnies left to iron out. For example, with a certain file system / memory size configuration it's still not possible to create enough files to make the file system run out of inodes before the kernel runs out of memory. Also, with some other configurations disk access slows down gargantually (though i'm sure there are >0 buffers available). Anyway, it ~works for now and it's by no means worse than what it was before.
|
1.13 | 15-Jun-2010 |
pooka | Implement rumpblk_deregister, for unregistering fake block devices (from etfs_deregister). Prompted by use case from njoly.
|
1.12 | 30-Apr-2010 |
pooka | Autogenerate /dev nodes. Use (recreate) the naming policy in MAKEDEV. -- Not the famous irrational file system devfs, but an incredible simulation.
|
1.11 | 14-Apr-2010 |
pooka | Use reserved major for rumpblk instead of picking something which may conflict.
|
1.10 | 17-Dec-2009 |
pooka | branches: 1.10.2; 1.10.4; * implement rump_vfs_makeonedevnode(), where the interface for creating multiple nodes doesn't make sense: e.g. /dev/null would've had to be created with ("/dev/nul", 'l', 1) * implement said /dev/null (just for show)
|
1.9 | 03-Dec-2009 |
pooka | Decide it's not worth the fuss to have rumpfs as a module and just hardcode attach into rump_vfs_init(). Saves us from a lot of pingpong init bouncing from one component to another to get the order right.
|
1.8 | 26-Nov-2009 |
pooka | For rumpfs, do mountroot instead of the bunch of homegrown hacks currently there. Still needs a little massage to get the kernel interfaces right and avoid copypaste especially from main().
Also, move it a bit more into the direction of a real file system (finally!) by giving it a vfsops. Most ops are still unimplemented, though.
|
1.7 | 14-Oct-2009 |
pooka | Adjust rump sources for external/internal interfaces. No functional change.
|
1.6 | 09-Oct-2009 |
pooka | Provide an interface for reboot.
|
1.5 | 07-Oct-2009 |
pooka | Allow to set size and host file offset for etfs files and rumpblk.
|
1.4 | 06-Sep-2009 |
pooka | Rename rump_dev_makenodes() to rump_vfs_makedevnodes() -- while it will most likely be used devices, the implementation requires services provided by vfs (mkdir, mknod).
|
1.3 | 03-Aug-2009 |
pooka | * get rid of the old fakeblk registration interface. Instead, introduce a new and improved "etfs" interface, which can be used to register host files accessible from rump fs namespace. This new interface is not restriced to block devices, and neither does it require the same pathname in host namespace and rump namespace. Therefore, the same host file can be represented both as a char and block device in rump namespace.
* adjust rumpblk to make the above possible
* improve rumpfs: nodes are now created properly and not implicitly tied to the vnode lifecycle
|
1.2 | 13-Jan-2009 |
pooka | branches: 1.2.2; 1.2.4; 1.2.8; Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.2.8.7 | 09-Oct-2010 |
yamt | sync with head
|
1.2.8.6 | 11-Aug-2010 |
yamt | sync with head.
|
1.2.8.5 | 11-Mar-2010 |
yamt | sync with head
|
1.2.8.4 | 16-Sep-2009 |
yamt | sync with head
|
1.2.8.3 | 19-Aug-2009 |
yamt | sync with head.
|
1.2.8.2 | 04-May-2009 |
yamt | sync with head.
|
1.2.8.1 | 13-Jan-2009 |
yamt | file rump_vfs_private.h was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.2.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.2.4.1 | 13-Jan-2009 |
skrll | file rump_vfs_private.h was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.2.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.2.2.1 | 13-Jan-2009 |
mjf | file rump_vfs_private.h was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.10.4.3 | 05-Mar-2011 |
rmind | sync with head
|
1.10.4.2 | 03-Jul-2010 |
rmind | sync with head
|
1.10.4.1 | 30-May-2010 |
rmind | sync with head
|
1.10.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.10.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.10.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.15.12.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.15.12.2 | 23-Jun-2013 |
tls | resync from head
|
1.15.12.1 | 25-Feb-2013 |
tls | resync with head
|
1.15.2.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.15.2.1 | 23-Jan-2013 |
yamt | sync with head
|
1.18.2.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.18.2.1 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.64 | 07-Jul-2016 |
msaitoh | branches: 1.64.2; 1.64.8; KNF. Remove extra spaces. No functional change.
|
1.63 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.62 | 08-Dec-2015 |
christos | fix struct name
|
1.61 | 08-Dec-2015 |
christos | Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of pointers.
|
1.60 | 26-May-2015 |
pooka | implement DIOCGMEDIASIZE, from Martin Lucina
|
1.59 | 02-Jan-2015 |
christos | We have three sets of DTYPE_ constants in the kernel: altq Drop Type disklabel Disk Type file Descriptor Type (not to mention constants that contain the string DTYPE). Let's make them two, by changing the disklabel one to be DisK TYPE since the other disklabel constants seem to do that. Not many userland programs use these constants (and the ones that they do are mostly in ifdefs). They will be fixed shortly.
|
1.58 | 17-Nov-2014 |
pooka | branches: 1.58.2; Release all hypervisor-level resources for rump_etfs paths when the rump kernel is halted.
Allows a Xen domU to not complain after it was shut down, or something like that. Requested by Martin Lucina.
|
1.57 | 25-Jul-2014 |
dholland | Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
|
1.56 | 25-Jul-2014 |
dholland | Add d_discard to all struct bdevsw instances I could find.
I've set them all to nodiscard. Some of them (wd, dk, vnd, ld, raidframe, maybe cgd) should be implemented for real.
|
1.55 | 16-Mar-2014 |
dholland | branches: 1.55.2; Change (mostly mechanically) every cdevsw/bdevsw I can find to use designated initializers.
I have not built every extant kernel so I have probably broken at least one build; however I've also found and fixed some wrong cdevsw/bdevsw entries so even if so I think we come out ahead.
|
1.54 | 30-Apr-2013 |
pooka | branches: 1.54.4; Make hypercall calling conventions consistent: iff a hypercall can fail, it returns an int containing the error value.
|
1.53 | 29-Apr-2013 |
pooka | g/c unused
|
1.52 | 29-Apr-2013 |
pooka | Replace the various "get info from hypervisor" interfaces with one unified rumpuser_getparam(), and make it return a plist. The contents can come e.g. from the env or a config file. Make identifiers starting with an underscore denote system identifiers which must be implemented by hypervisor. (yea, j/k about the plist bit)
|
1.51 | 29-Apr-2013 |
pooka | The fsync hypercall is now used only with close, so get rid of it. rumpuser_bio() should do the necessary syncing.
|
1.50 | 29-Apr-2013 |
pooka | rework bio hypercalls, part 2:
Nuke all the policy hacks (r/w, mmap, directio) from the paravirtualized block driver and let the hypervisor decide how it wants to optimize the I/O. It can prepare for this based on if a file is opened with the RUMPUSER_OPEN_BIO flag.
mmap was not faster than r/w except in a niche case (yes, it made a good measurement), and directio was never on by default since it was tricky at best to decide on the kernel side of things if directio will do the right thing.
|
1.49 | 29-Apr-2013 |
pooka | Rework how the bio hypercalls work, part 1/n:
Reduce the set of hypercalls to one: "do block i/o". This not only eliminates a lot of pseudo-duplicate code, it also gives the hypervisor a lot more freedom on how to optimize the i/o.
|
1.48 | 14-Sep-2012 |
pooka | Do not assume that O_FOO flags have matching values in the rump kernel and hypervisor.
|
1.47 | 19-Nov-2011 |
tls | branches: 1.47.8; First step of random number subsystem rework described in <20111022023242.BA26F14A158@mail.netbsd.org>. This change includes the following:
An initial cleanup and minor reorganization of the entropy pool code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are fixed. Some effort is made to accumulate entropy more quickly at boot time.
A generic interface, "rndsink", is added, for stream generators to request that they be re-keyed with good quality entropy from the pool as soon as it is available.
The arc4random()/arc4randbytes() implementation in libkern is adjusted to use the rndsink interface for rekeying, which helps address the problem of low-quality keys at boot time.
An implementation of the FIPS 140-2 statistical tests for random number generator quality is provided (libkern/rngtest.c). This is based on Greg Rose's implementation from Qualcomm.
A new random stream generator, nist_ctr_drbg, is provided. It is based on an implementation of the NIST SP800-90 CTR_DRBG by Henric Jungheim. This generator users AES in a modified counter mode to generate a backtracking-resistant random stream.
An abstraction layer, "cprng", is provided for in-kernel consumers of randomness. The arc4random/arc4randbytes API is deprecated for in-kernel use. It is replaced by "cprng_strong". The current cprng_fast implementation wraps the existing arc4random implementation. The current cprng_strong implementation wraps the new CTR_DRBG implementation. Both interfaces are rekeyed from the entropy pool automatically at intervals justifiable from best current cryptographic practice.
In some quick tests, cprng_fast() is about the same speed as the old arc4randbytes(), and cprng_strong() is about 20% faster than rnd_extract_data(). Performance is expected to improve.
The AES code in src/crypto/rijndael is no longer an optional kernel component, as it is required by cprng_strong, which is not an optional kernel component.
The entropy pool output is subjected to the rngtest tests at startup time; if it fails, the system will reboot. There is approximately a 3/10000 chance of a false positive from these tests. Entropy pool _input_ from hardware random numbers is subjected to the rngtest tests at attach time, as well as the FIPS continuous-output test, to detect bad or stuck hardware RNGs; if any are detected, they are detached, but the system continues to run.
A problem with rndctl(8) is fixed -- datastructures with pointers in arrays are no longer passed to userspace (this was not a security problem, but rather a major issue for compat32). A new kernel will require a new rndctl.
The sysctl kern.arandom() and kern.urandom() nodes are hooked up to the new generators, but the /dev/*random pseudodevices are not, yet.
Manual pages for the new kernel interfaces are forthcoming.
|
1.46 | 03-Feb-2011 |
pooka | branches: 1.46.4; fix KASSERT snafu. spotted by tests, as usual.
|
1.45 | 03-Feb-2011 |
pooka | * open backend device once when the rumpblk is registered instead of every time the virtual device is opened. this takes care of e.g. a midlife chmod crisis * when mapping initial windows, consistently look at host size and host offset. otherwise we might end up in a situation with 0 initial windows mapped, and that will cause a crash later.
|
1.44 | 03-Feb-2011 |
pooka | * fix blkno->offset calculation for simulated non-512 devices * allows transfers only in multiples of block size * g/c unused struct member
|
1.43 | 02-Feb-2011 |
pooka | never open rumpblk backend with O_TRUNC XXX: the rumpuser_open interface needs a beating
|
1.42 | 06-Sep-2010 |
pooka | branches: 1.42.2; 1.42.4; Broadcast instead of signal since the condition is a boolean.
|
1.41 | 21-Jun-2010 |
pooka | Calculate memory mapping size based on underlying file size, not our window to it. This fixes cases like opening a window at offsets [8,32] to a file, which would cause host file offset [0,32-8] to be mapped, i.e. [0,16] inside the window. Obviously, access to the entire in-window [0,24] range should have been mapped (and after this fix it is).
|
1.40 | 15-Jun-2010 |
pooka | Implement rumpblk_deregister, for unregistering fake block devices (from etfs_deregister). Prompted by use case from njoly.
|
1.39 | 01-May-2010 |
pooka | Adjust event counter names to be less redundant.
|
1.38 | 14-Apr-2010 |
pooka | Use reserved major for rumpblk instead of picking something which may conflict.
|
1.37 | 31-Jan-2010 |
pooka | branches: 1.37.2; 1.37.4; If RUMP_BLKSECTSHIFT is set in the environment, use that as device sector size instead of DEV_BSHIFT.
|
1.36 | 27-Jan-2010 |
pooka | Typecast memwinsize to off_t before taking the complement to be &'ed with an off_t. Otherwise things go a bit wrong with >4GB images ...
|
1.35 | 22-Dec-2009 |
pooka | Fix block device open for non-REG backends.
|
1.34 | 03-Dec-2009 |
pooka | Do bounds-checking before adding host offset. Otherwise the host offset would be counted in with "size" and incorrect operation would ensue.
|
1.33 | 02-Dec-2009 |
pooka | fix inverted comparison
|
1.32 | 25-Nov-2009 |
pooka | * report partition size in blocks instead of bytes * "support" DIOCCACHESYNC.
|
1.31 | 20-Nov-2009 |
pooka | Generate fictional disklabel and return that from ioctl() instead of the halfwitted semi-host semi-virtual ioctl nonsense that was here previously.
|
1.30 | 19-Nov-2009 |
pooka | * don't open device when calling getfileinfo(), it might need to open the device and will f-a-i-l if it's a block device * use rumpuser_ioctl() as little as possible (going away completely wewy wewy soon) * improve some variable scoping
|
1.29 | 07-Oct-2009 |
pooka | * set winsize to memwinsize in initial getwindow(). makes no functional difference, but looks less like a debug hack leftover. * explain memory windows vs. directio a little better in comment
|
1.28 | 07-Oct-2009 |
pooka | do initial window allocation test at proper offsets
|
1.27 | 07-Oct-2009 |
pooka | Allow to set size and host file offset for etfs files and rumpblk.
|
1.26 | 06-Oct-2009 |
pooka | Use uint64_t instead of size_t for block device partition size.
from jak
|
1.25 | 03-Aug-2009 |
pooka | Support read/write in rumpblk via physio()
|
1.24 | 03-Aug-2009 |
pooka | * get rid of the old fakeblk registration interface. Instead, introduce a new and improved "etfs" interface, which can be used to register host files accessible from rump fs namespace. This new interface is not restriced to block devices, and neither does it require the same pathname in host namespace and rump namespace. Therefore, the same host file can be represented both as a char and block device in rump namespace.
* adjust rumpblk to make the above possible
* improve rumpfs: nodes are now created properly and not implicitly tied to the vnode lifecycle
|
1.23 | 30-Apr-2009 |
pooka | branches: 1.23.2; remove outdated comment
|
1.22 | 30-Apr-2009 |
pooka | print succinctly
|
1.21 | 27-Apr-2009 |
pooka | initialize async before use
|
1.20 | 27-Apr-2009 |
pooka | * expand syncing logic into rumpuser, since it has more freedom on how to do it (e.g. fsync_range) * hash out O_DIRECT support. it's the fastest method of safely operating on a file, but we can't currently autodetect support, so it's not enabled by default * sprinkle more event counters
|
1.19 | 17-Apr-2009 |
pooka | Allow bootstrap time specification of memory window size and count.
|
1.18 | 16-Apr-2009 |
pooka | evcnt mmio window statistics
|
1.17 | 07-Apr-2009 |
pooka | Fix typo that slipped in a while ago. Fixes non-file mounts.
|
1.16 | 06-Apr-2009 |
pooka | In case using mmio, use windowing instead of trying to map the entire image.
Benefits: * the whole image does not need to fit into VA * a core dump is not of gargantuan proportions
Performance is pretty close to one whopping mmap. I'll finetune the parameters later, although the current ones seem pretty good in initial testing.
|
1.15 | 01-Apr-2009 |
pooka | Be less verbose. (something like rump_dmesg with optional QUIET would be nice, but needs work)
|
1.14 | 23-Mar-2009 |
pooka | massage comment. no functional change.
|
1.13 | 23-Mar-2009 |
pooka | Support async writes, can benefit mmio case.
|
1.12 | 23-Mar-2009 |
pooka | fix recent bug: writable images were not mapped with MAP_SHARED
|
1.11 | 22-Mar-2009 |
pooka | Bounds-check requests in case we are operating directly on a regular file.
|
1.10 | 19-Mar-2009 |
uebayasi | Fix build on LP64. While here KNF around.
|
1.9 | 18-Mar-2009 |
pooka | When doing I/O to a regular file, try to use mmio instead of read/write. This makes a rump_fs file server around 5% faster.
|
1.8 | 18-Mar-2009 |
cegger | Ansify function definitions w/o arguments. Generated with sed.
|
1.7 | 26-Feb-2009 |
pooka | g/c debug printf
|
1.6 | 26-Feb-2009 |
pooka | When using an array as a ringbuffer, need to perform modulo arithmetic with arraysize instead of arraysize-1. Previously there was one inconsistency in the code. This might fix a crash reported by apb.
Also, g/c outdated comment.
|
1.5 | 26-Feb-2009 |
pooka | Make rumpuser stat and nanosleep independent of the host system stat and timespec definitions.
|
1.4 | 10-Feb-2009 |
pooka | Explain in comment why the RNG is private (no, not the Random Nethack God)
|
1.3 | 10-Feb-2009 |
pooka | Introduce simple random fault injection. It is currently controlled by setting RUMP_BLKFAIL to control the frequency and optionally RUMP_BLKFAIL_SEED, which seeds the "random" number generator. Feel free to extend the code if you want something "a little more" for your purposes.
|
1.2 | 27-Jan-2009 |
pooka | branches: 1.2.2; Instead of dynamically allocating and freeing the rumpuser async io descriptors, just allocate an array statically and be happy.
Fixes a problem found by Arnaud Ysmal where a descriptor would be allocated using kmem_alloc(9) and free'd using free(3).
|
1.1 | 13-Jan-2009 |
pooka | branches: 1.1.2; 1.1.4; Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.1.4.4 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.1.4.3 | 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.1.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.1.4.1 | 13-Jan-2009 |
skrll | file rumpblk.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.1.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.1.2.1 | 13-Jan-2009 |
mjf | file rumpblk.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.2.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.23.2.6 | 09-Oct-2010 |
yamt | sync with head
|
1.23.2.5 | 11-Aug-2010 |
yamt | sync with head.
|
1.23.2.4 | 11-Mar-2010 |
yamt | sync with head
|
1.23.2.3 | 19-Aug-2009 |
yamt | sync with head.
|
1.23.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.23.2.1 | 30-Apr-2009 |
yamt | file rumpblk.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.37.4.3 | 05-Mar-2011 |
rmind | sync with head
|
1.37.4.2 | 03-Jul-2010 |
rmind | sync with head
|
1.37.4.1 | 30-May-2010 |
rmind | sync with head
|
1.37.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.37.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.37.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.42.4.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.42.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.46.4.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.46.4.2 | 30-Oct-2012 |
yamt | sync with head
|
1.46.4.1 | 17-Apr-2012 |
yamt | sync with head
|
1.47.8.4 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.47.8.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.47.8.2 | 23-Jun-2013 |
tls | resync from head
|
1.47.8.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.54.4.1 | 18-May-2014 |
rmind | sync with head
|
1.55.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.58.2.4 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.58.2.3 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.58.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.58.2.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.64.8.2 | 29-Apr-2017 |
pgoyette | Remove more unnecessary #include for sys/localcount.h
|
1.64.8.1 | 27-Apr-2017 |
pgoyette | Restore all work from the former pgoyette-localcount branch (which is now abandoned doe to cvs merge botch).
The branch now builds, and installs via anita. There are still some problems (cgd is non-functional and all atf tests time-out) but they will get resolved soon.
|
1.64.2.3 | 26-Jul-2016 |
pgoyette | Rename LOCALCOUNT_INITIALIZER to DEVSW_MODULE_INIT. This better describes what we're doing, and why.
|
1.64.2.2 | 19-Jul-2016 |
pgoyette | Instead of repeatedly typing the conditional initialization of the .d_localcount members in the various {b,c}devsw, define an initializer macro and use it. This also removes the need for defining new symbols for each 'struct localcount'.
As suggested by riastradh@
|
1.64.2.1 | 18-Jul-2016 |
pgoyette | Rump drivers are always installed via devsw_attach() so we need to always allocate a 'struct localcount' for these drivers whenever they are built as modules.
|
1.1 | 09-Nov-2014 |
pooka | branches: 1.1.18; Move rump kernel man pages from various sources to sys/rump
namely: * src/lib is used only when building for POSIX'y platforms, but the man pages have their use for all platforms * rumpuser.3 is a function of the rump kernel, not one of the of the POSIX'y implementation hosted in src/lib/librumpuser
no functional change
|
1.1.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.18.1 | 09-Nov-2014 |
jdolecek | file rumpfs.4 was added on branch tls-maxphys on 2017-12-03 11:39:17 +0000
|
1.167 | 27-Jun-2023 |
andvar | remove double/tripple o in comments, where it likely was not added on purpose.
|
1.166 | 20-Oct-2021 |
thorpej | Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
1.165 | 18-Jul-2021 |
dholland | Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain the portion of the vnode ops table declaration that is (conservatively) the same in every fs. Use these in every fs that supports devices and/or fifos with separate ops tables.
Note that ptyfs works differently (it has one type of vnode with open-coded dispatch to the specfs code, which I haven't changed in this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic dispatch that already does more or less the same thing, which I also haven't changed.
Also note that this anticipates a few bits in the next changeset here and there, and adds missing but unreachable calls in some cases (e.g. most fses weren't defining whiteout on devices and fifos, but it isn't reachable there), and it changes parsepath on devices and fifos to genfs_badop from genfs_parsepath (but it's not reachable there either).
It appears that devices in kernfs were missing kqfilter, so it's possible that if you try to use kqueue on /kern/rootdev that it'll explode.
And finally note that the ops declaration tables aren't order-dependent. (Other than vop_default_desc has to come first.) Otherwise this wouldn't work.
|
1.164 | 29-Jun-2021 |
dholland | Add parsepath for rumpfs in place of using cn_consume.
|
1.163 | 29-Jun-2021 |
dholland | - Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table.
VOP_PARSEPATH takes a directory vnode to be searched and a complete following path and chooses how much of that path to consume. To begin with, all parsepath calls are genfs_parsepath, which locates the first '/' as always.
Note that the call doesn't take the whole struct componentname, only the string. The other bits of struct componentname should not be needed and there's no reason to cause potential complications by exposing them.
|
1.162 | 16-May-2020 |
christos | branches: 1.162.6; Add ACL support for FFS. From FreeBSD.
|
1.161 | 15-May-2020 |
christos | PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries, fifo_vnodeop_opv_desc symbols.
Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs internally for their fifo vnops. NFS does too, but it also needs networking anyway. Unfortunately fifofs brings in a lot of the networking code so that the rumpkernel is not well partition. In addition the fifo code is rarely used.
The existing hack depended on duplicating the above symbols and adding minimal functionality for the majority of the the tests (except the ffs and the puffs one). In these two cases both symbols were loaded and the symbol sizes clashed which broke the sanitizers. While this can be fixed with weak symbols and other kinds of indirection, it is more straight forward to select between the minimal and the full fifofs implementation by introducing a new shared library librumpvfs_nofifofs.
|
1.160 | 15-May-2020 |
christos | Undo previous, need to fix differently (fifofs is needed by other fs's and fifo brings in rumpnet)
|
1.159 | 14-May-2020 |
christos | PR/55102: Kamil Rytarowski: Remove fifo stuff duplicated in fifo_vnops.c
|
1.158 | 25-Apr-2020 |
bouyer | Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM guests in GENERIC. Xen support can be disabled at runtime with boot -c disable hypervisor
|
1.157 | 23-Apr-2020 |
ad | PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)
- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed somewhere. Use it to decide whether to do direct-mapped copy, rather than poking around directly in the vnode in ubc_uiomove(), which is ugly and doesn't work for tmpfs. It would be nicer to contain all this in UVM but the filesystem provides the needed locking here (VV_MAPPED) and to reinvent that would suck more.
- Rename UBC_UNMAP_FLAG() to UBC_VNODE_FLAGS(). Pass in UBC_ISMAPPED where appropriate.
|
1.156 | 13-Apr-2020 |
ad | Replace most uses of vp->v_usecount with a call to vrefcnt(vp), a function that hides the details and does atomic_load_relaxed(). Signature matches FreeBSD.
|
1.155 | 04-Apr-2020 |
kamil | branches: 1.155.2; Avoid copying zero-sized objects (from the NULL address)
Detected with UBSan
|
1.154 | 17-Jan-2020 |
ad | VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to allow us to get shared locks (or no lock) on the returned vnode. Matches FreeBSD.
|
1.153 | 04-Jun-2018 |
chs | branches: 1.153.2; 1.153.8; initialize the new gop_putrange method pointer in rumpfs_genfsops too.
|
1.152 | 20-Nov-2017 |
martin | branches: 1.152.2; When truncating a file make sure to update mtime. This fixes PR kern/51762 for rumpfs.
|
1.151 | 20-Nov-2017 |
christos | PR/52738: Martin Husemann: rumpfs does not support mtime
|
1.150 | 28-May-2017 |
hannken | branches: 1.150.2; Suspend file system for vgone().
|
1.149 | 26-May-2017 |
riastradh | Make VOP_RECLAIM do the last unlock of the vnode.
VOP_RECLAIM naturally has exclusive access to the vnode, so having it locked on entry is not strictly necessary -- but it means if there are any final operations that must be done on the vnode, such as ffs_update, requiring exclusive access to it, we can now kassert that the vnode is locked in those operations.
We can't just have the caller release the last lock because some file systems don't use genfs_lock, and require the vnode to remain valid for VOP_UNLOCK to work, notably unionfs.
|
1.148 | 26-Apr-2017 |
riastradh | Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
No change to vp -- the plan is to replace the node by the componentname in the vop parameters, and let all directory vops do lookups internally.
Proposed on tech-kern with no objections: https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html
|
1.147 | 17-Apr-2017 |
hannken | Remove unused argument "nextp" from vfs_busy() and vfs_unbusy(). Remove argument "keepref" from vfs_unbusy() and add vfs_ref() where needed.
|
1.146 | 11-Apr-2017 |
riastradh | Make VOP_INACTIVE preserve vnode lock on return.
Discussed on tech-kern: https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html
Ride 7.99.68, a bumpy bus of incremental vfs improvements!
|
1.145 | 01-Mar-2017 |
hannken | Change the protocol to update a mounted file system from read-write to read-only and vice versa:
- Add an internal flag IMNT_WANTRDONLY. - Set either IMNT_WANTRDWR or IMNT_WANTRDONLY if going from or to read-only. - After successfull call to VFS_MOUNT() set or clear MNT_RDONLY.
Adapt tmpfs and rumpfs to the new protocol. Other file systems will be updated when they get the IMNT_CAN_RWTORO property.
Welcome to 7.99.64
|
1.144 | 17-Feb-2017 |
hannken | Add generic genfs_suspendctl() and use it for all file systems. Layered file systems need work.
|
1.143 | 27-Jan-2017 |
hannken | Run vflush() when going from read/write to read only. Set link count to zero once a node has been removed. "Implement" MNT_GETARGS.
|
1.142 | 20-Aug-2016 |
hannken | branches: 1.142.2; Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
|
1.141 | 07-Jul-2016 |
msaitoh | branches: 1.141.2; KNF. Remove extra spaces. No functional change.
|
1.140 | 07-Mar-2016 |
christos | Avoid void * arithmetic
|
1.139 | 06-Mar-2016 |
christos | PR/50900: David Binderman: optimize memset
|
1.138 | 02-Feb-2016 |
pooka | optimize for size a.k.a. operation nuke trailing spaces
|
1.137 | 02-Feb-2016 |
pooka | Add capability to attach external memory to files on rumpfs. This feature is useful e.g. for tight-memory systems where you don't need block storage, but still need to provide some data via files.
|
1.136 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.135 | 23-Jun-2015 |
hannken | VOP_INACTIVE() is a rump operation, not a specfs operation.
|
1.134 | 07-Jan-2015 |
riastradh | Name kmem_free(rn, sizeof(*rn)) as freeprivate to match makeprivate.
Per pooka's request from a year or so ago when I passed this patch by him a year or so ago, if I recall correctly.
|
1.133 | 07-Jan-2015 |
riastradh | Don't leak rn on vcache_get failure.
|
1.132 | 03-Jan-2015 |
hannken | Always use (struct rumpfs_node **) as key to vcache operations.
|
1.131 | 01-Jan-2015 |
hannken | Change rumpfs to vcache.
|
1.130 | 17-Aug-2014 |
justin | branches: 1.130.2; Fix memory leak on error case, as reported in http://m00nbsd.net/ae123a9bae03f7dde5c6d654412daf5a.html#Report-2
|
1.129 | 13-Jun-2014 |
pooka | branches: 1.129.2; Add rump_boot_etfs_register(), which can be used to specify etfs nodes that will be available immediately when mountroot is done and file systems are available.
The intended use is for example for firmware images to be available when config_mountroot() hooks run.
|
1.128 | 28-May-2014 |
justin | Add missing __diagused in rump code
|
1.127 | 25-Apr-2014 |
pooka | Move the etfs linkage from rumpvfs to rumpkern, and replace the weak alias show with an honest pointer indirection.
No client-visible change. (apart from this version working e.g. on musl w/ dlopen)
|
1.126 | 16-Mar-2014 |
njoly | branches: 1.126.2; When trying to extend a file, don't wait until the underlying memory allocation succeed. Return ENOSPC upon failure.
|
1.125 | 24-Feb-2014 |
pooka | truncate is not a defined operation for host files
|
1.124 | 07-Feb-2014 |
hannken | Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
1.123 | 23-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
1.122 | 17-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to keep the directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
|
1.121 | 23-Nov-2013 |
christos | change the mountlist CIRCLEQ into a TAILQ
|
1.120 | 05-Aug-2013 |
pooka | Also check if root vnode is busy when unmounting.
|
1.119 | 05-Aug-2013 |
pooka | Only free file data we've allocated.
|
1.118 | 04-Aug-2013 |
pooka | Use standard file-is-valid-until-last-reference-is-dropped semantics for file contents.
via Justin Cormack & valgrind on github
|
1.117 | 14-Jun-2013 |
pooka | branches: 1.117.2; Allocate large struct from heap instead of stack for the benefit of low-stack environments in which this code can run.
|
1.116 | 12-Jun-2013 |
pooka | Make sure root creds override fs mode (at least in a root cred secmodel). The correct way is of course for the access method to perform this:
return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, attr->va_mode), vp, NULL, genfs_can_access(vp->v_type, attr->va_mode, attr->va_uid, attr->va_gid, mode, cred));
|
1.115 | 10-Jun-2013 |
pooka | Create inodes with the specified mode instead of hardcoding to 0755.
|
1.114 | 30-Apr-2013 |
pooka | Make hypercall calling conventions consistent: iff a hypercall can fail, it returns an int containing the error value.
|
1.113 | 29-Apr-2013 |
pooka | Reduce hypercalls related to reading to essentially an amalgamation of readv and preadv. ditto for writing. Hypercalls are so seldomly used that it doesn't justify 3x the calls for syntactic sugar.
|
1.112 | 07-Apr-2013 |
stacktic | Use genfs_null_putpages for fifo putpages op to ensure that the interlock gets unlocked
|
1.111 | 14-Sep-2012 |
pooka | Do not assume that O_FOO flags have matching values in the rump kernel and hypervisor.
|
1.110 | 30-Mar-2012 |
njoly | branches: 1.110.2; Do not ignore kauth errors when setting file flags.
|
1.109 | 22-Mar-2012 |
njoly | Use the appropriates vop_*_args structures.
|
1.108 | 15-Mar-2012 |
njoly | Use VOP va_vaflags attribute for genfs_can_chtimes(), not rumpfs node one.
|
1.107 | 13-Mar-2012 |
elad | Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with something meaningful. All relevant documentation has been updated or written.
Most of these changes were brought up in the following messages:
http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html
Thanks to christos, manu, njoly, and jmmv for input.
Huge thanks to pgoyette for spinning these changes through some build cycles and ATF.
|
1.106 | 31-Jan-2012 |
njoly | Check credentials when setting uid, gid or mode attributes.
|
1.105 | 30-Jan-2012 |
njoly | Add permissions support to rump_vop_access(), to be used by rump_vop_lookup().
|
1.104 | 12-Dec-2011 |
njoly | Start making fs read(2) fail with EISDIR if the implementation does not allow read on directories (kernfs, rumpfs, ptyfs and sysvbfs). Adjust man page accordingly, and add a small corresponding vfs testcase.
|
1.103 | 27-Sep-2011 |
mbalmer | branches: 1.103.2; 1.103.6; Underscores are sometimes overrated.
|
1.102 | 27-Sep-2011 |
christos | fix confusion between MAXPATHLEN and MAXNAMLEN
|
1.101 | 27-Sep-2011 |
christos | use RUMPFS_MAXNAMLEN consistently.
|
1.100 | 27-Sep-2011 |
christos | define RUMPFS_MAXNAMLEN and use it.
|
1.99 | 23-Aug-2011 |
hannken | When consuming only part of a path in rump_vop_lookup():
- Make sure to consume complete path components. - Consume trailing slashes too. - Do not clear REQUIREDIR.
Test rump/modautoload/t_modautoload now passes.
|
1.98 | 07-Aug-2011 |
hannken | Allow removal of a directory containing only whiteouts and free them first.
|
1.97 | 05-Aug-2011 |
hannken | Make whiteouts work on rumpfs:
- On lookup it is ok to create if the name exists and is a whiteout - When replacing a whiteout directory entry remove the whiteout first. - Set UF_OPAQUE when creating a node in place of a whiteout.
|
1.96 | 19-Jun-2011 |
rmind | - Fix a silly bug: remove umap from uobj in ubc_release() UBC_UNMAP case. - Use UBC_WANT_UNMAP() consistently.
ARM (PMAP_CACHE_VIVT case) works again.
|
1.95 | 12-Jun-2011 |
rmind | Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.94 | 27-Mar-2011 |
riz | branches: 1.94.2; Don't try to kmem_alloc() 0 bytes. Without this change, some trivial kernel modules were not loadable by rump_server.
|
1.93 | 21-Mar-2011 |
pooka | Update copyright statements.
no functional change.
|
1.92 | 01-Mar-2011 |
pooka | Reset node's parent pointer when it's removed. Technically the parent still exists, but allows us to avoid complicated g/c algorithms if the parent *is* removed.
|
1.91 | 02-Feb-2011 |
pooka | Allow etfs for CREATE lookups too. This takes care of O_CREAT calls to open(), which act just like lookups if the node exists (found from etfs). If the node doesn't exist in etfs, nothing changes from the previous situation.
|
1.90 | 02-Feb-2011 |
pooka | adjust inode size too if VOP_SETATTR changes size
|
1.89 | 14-Jan-2011 |
pooka | branches: 1.89.2; 1.89.4; Release etfs node's backing vnode before freeing the etfs node.
spotted from the LOCKDEBUG run that martin accidentally did
|
1.88 | 13-Jan-2011 |
pooka | Respect DOWHITEOUT when removing a directory.
|
1.87 | 13-Jan-2011 |
pooka | support MNT_RDONLY
|
1.86 | 12-Jan-2011 |
pooka | unionfs voodoo
|
1.85 | 12-Jan-2011 |
pooka | Explicitly set *vpp to NULL in lookup. At least reluckup gets upset if we don't explicitly nullify vpp in the error case.
|
1.84 | 12-Jan-2011 |
pooka | reject r/o mount attempts
|
1.83 | 12-Jan-2011 |
pooka | Mark rootfs r/w. Thanks to the incredible machine known as vfs, the only one who noticed the inconsistency of writing to a r/o fs was unionfs.
|
1.82 | 11-Jan-2011 |
kefren | add advlock to rumpfs, ok pooka@
|
1.81 | 04-Jan-2011 |
pooka | Need to check for VNOVAL when setting attrs.
|
1.80 | 04-Jan-2011 |
pooka | Don't try to change the size of non-reg nodes or when vattr doesn't contain a new size.
from njoly
|
1.79 | 01-Jan-2011 |
pooka | Report correct file size + deal with ftruncate() and O_APPEND.
|
1.78 | 18-Dec-2010 |
pooka | Use correct spec_islocked method.
|
1.77 | 30-Nov-2010 |
pooka | simplify
|
1.76 | 30-Nov-2010 |
dholland | SAVENAME and HASBUF namei flags have been removed; update rumpvfs accordingly.
|
1.75 | 30-Nov-2010 |
dholland | Fix etfs pathname handling to not (mis)use namei's scratch space.
etfs objects must now be registered as absolute paths; however, it is now possible to access them via relative paths and through symlinks, which previously worked some times and not others depending on exactly what namei was doing.
discussed on tech-kern and ok'd by pooka.
|
1.74 | 22-Nov-2010 |
pooka | Support VOP_SETATTR, otherwise e.g. open(O_TRUNC) fails.
|
1.73 | 11-Nov-2010 |
pooka | help me if you can i'm gcc and i do appreciate work'round-eee'e help me, get my head out of the ground won't you please, please help me?
|
1.72 | 11-Nov-2010 |
pooka | +VOP_REMOVE
|
1.71 | 11-Nov-2010 |
pooka | support read/write & ubc
|
1.70 | 11-Nov-2010 |
pooka | support vop_pathconf
|
1.69 | 11-Nov-2010 |
pooka | support vfs_mount/unmount
|
1.68 | 11-Nov-2010 |
pooka | be friends with genfs
|
1.67 | 11-Nov-2010 |
pooka | Support non-hostbacked regular files, at least just a little bit.
|
1.66 | 08-Nov-2010 |
pooka | print some dmesg blub for etfs files attaching as block devices
|
1.65 | 06-Sep-2010 |
pooka | renamelock is mandatory
|
1.64 | 06-Sep-2010 |
pooka | Try to draw faster than Lucky Locke.
|
1.63 | 21-Jul-2010 |
hannken | Make holding v_interlock mandatory for callers of vget().
Announced some time ago on tech-kern.
|
1.62 | 13-Jul-2010 |
pooka | support dotdot lookups
|
1.61 | 09-Jul-2010 |
hannken | Replace vget() with vref()/vn_lock(), this node already has a reference.
|
1.60 | 03-Jul-2010 |
pooka | Support VOP_WHITEOUT (mostly so that unionfs tests don't always need to first mount ffs)
|
1.59 | 30-Jun-2010 |
pooka | plug memory leaks (of course the function i copypasted for the previous commit was the only one with the leak ...)
|
1.58 | 30-Jun-2010 |
pooka | Implement VOP_SYMLINK/READLINK. The allows me to be a little lazier in other places.
|
1.57 | 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.56 | 22-Jun-2010 |
pooka | Remove overeager checks.
|
1.55 | 16-Jun-2010 |
pooka | * support VOP_SEEK * correctly handle VOP_OPEN(FREAD|FWRITE) * fix host file write offset
|
1.54 | 16-Jun-2010 |
pooka | report actual size from read/write vops
|
1.53 | 15-Jun-2010 |
pooka | Implement rumpblk_deregister, for unregistering fake block devices (from etfs_deregister). Prompted by use case from njoly.
|
1.52 | 15-Jun-2010 |
njoly | Fix some rump_etfs_register/rump_etfs_remove memory leaks.
|
1.51 | 14-Jun-2010 |
njoly | Add rmdir(2) support for rump filsystem.
With help from pooka.
|
1.50 | 11-May-2010 |
pooka | Cache directory entry name length. This brings kernel bootstrap time down: 14ms -> 12ms. Further hashing etc. did not seem to have any noticable effect. (without /dev node creation bootstrap time is 8ms, so it's still the bottleneck)
|
1.49 | 11-May-2010 |
pooka | Fix reclaim locking so that we don't attempt lock reentry if making a new rumpfs vnode triggers a reclaim for a rumpfs vnode.
|
1.48 | 11-May-2010 |
pooka | Reclaim spec-type vnodes properly.
|
1.47 | 30-Apr-2010 |
pooka | genfs_eopnotsuppify symlink, otherwise unlocky things happen!
|
1.46 | 30-Apr-2010 |
pooka | Add translation from vtype to dirent type. Convert rumpfs now. I'll convert the rest of the file servers in need after the next version bump to avoid the coding module crisis.
|
1.45 | 30-Apr-2010 |
pooka | Get better results if initialize a field before calling strlen(). (can't believe that worked last night. the stars must've been in the "lottery, stupid" position)
|
1.44 | 29-Apr-2010 |
pooka | p2k asserts get upset if VOP_ISLOCKED() doesn't reflect lock status. So let genfs do its thing.
|
1.43 | 29-Apr-2010 |
pooka | add simple VOP_READDIR for rumpfs
|
1.42 | 27-Apr-2010 |
pooka | Fix off-by-atleast-1 error.
Note: etfs doesn't work if rumpfs is not mounted as root. Given that rumpfs_mount always return EOPNOTSUPP (except for mountroot), this is not a pressible tragedy currently, but nevertheless could/should be fixed in the future.
|
1.41 | 26-Apr-2010 |
pooka | Add directory support to etfs: host directories and their contents will be mapped to rumpfs based on the given key. The directory can be mapped either for a single level or recursively down the entire subtree.
|
1.40 | 21-Apr-2010 |
pooka | rumpfs is mpsafe (has always been), so mark it as such.
|
1.39 | 14-Apr-2010 |
pooka | Use reserved major for rumpblk instead of picking something which may conflict.
|
1.38 | 12-Apr-2010 |
pooka | Report f_iosize as 512. Some callers want it, and we can only guess a safe default here (because of etfs).
|
1.37 | 01-Mar-2010 |
pooka | branches: 1.37.2; "support" unmount of rumpfs
|
1.36 | 03-Dec-2009 |
pooka | branches: 1.36.2; Make sure node lengths match in addition to strncmp(). (I thought i fixed this already once?)
|
1.35 | 03-Dec-2009 |
pooka | Decide it's not worth the fuss to have rumpfs as a module and just hardcode attach into rump_vfs_init(). Saves us from a lot of pingpong init bouncing from one component to another to get the order right.
|
1.34 | 30-Nov-2009 |
pooka | test for error in creating root vnode before using it
|
1.33 | 30-Nov-2009 |
pooka | Use genfs_statvfs() for now.
|
1.32 | 30-Nov-2009 |
pooka | support lookup of pathname component "."
|
1.31 | 27-Nov-2009 |
pooka | Move rootfs-related init from init_main() to vfs_mountroot(). Reduces code re-written in rump.
|
1.30 | 26-Nov-2009 |
pooka | For rumpfs, do mountroot instead of the bunch of homegrown hacks currently there. Still needs a little massage to get the kernel interfaces right and avoid copypaste especially from main().
Also, move it a bit more into the direction of a real file system (finally!) by giving it a vfsops. Most ops are still unimplemented, though.
|
1.29 | 14-Oct-2009 |
pooka | "rumppriv" goes back to "rump" per internal interface naming change.
|
1.28 | 14-Oct-2009 |
pooka | Adjust rump sources for external/internal interfaces. No functional change.
|
1.27 | 11-Oct-2009 |
pooka | Include host offset in regular etfs read/write operations (I can't imagine it being particularly useful, but let's call file this under POLA).
|
1.26 | 11-Oct-2009 |
pooka | Support creating file system sockets (non-sockets not supported in VOP_CREATE since I don't want to have to write read/write support for non-etfs files).
|
1.25 | 07-Oct-2009 |
pooka | Allow to set size and host file offset for etfs files and rumpblk.
|
1.24 | 04-Oct-2009 |
pooka | Implement RUMP_ETFS_REG. Usable e.g. by firmload(9). (well, it should probably be RUMP_ETFS_PATH, but simple things first)
|
1.23 | 05-Sep-2009 |
pooka | zalloc new rumpfs nodes to make sure rn_vp is initially NULL. Fixes problem pointed out by Nicolas Joly in private email.
|
1.22 | 04-Aug-2009 |
pooka | Do std vnode locking for specnodes located on rumpfs.
|
1.21 | 03-Aug-2009 |
pooka | * get rid of the old fakeblk registration interface. Instead, introduce a new and improved "etfs" interface, which can be used to register host files accessible from rump fs namespace. This new interface is not restriced to block devices, and neither does it require the same pathname in host namespace and rump namespace. Therefore, the same host file can be represented both as a char and block device in rump namespace.
* adjust rumpblk to make the above possible
* improve rumpfs: nodes are now created properly and not implicitly tied to the vnode lifecycle
|
1.20 | 22-Jul-2009 |
pooka | Since rumpfs can now be used from publically exported routines, convert unsupported checking KASSERTs to return EOPNOTSUPP.
|
1.19 | 10-Jun-2009 |
pooka | Support VOP_MKNOD. This is so that components which need device nodes (e.g. raidframe) can create them.
|
1.18 | 09-Jun-2009 |
pooka | Put some spunk into deadfs.
|
1.17 | 19-May-2009 |
pooka | Set vnode op vector properly for block devices too. Makes mounting a real block device work again.
|
1.16 | 03-May-2009 |
pooka | branches: 1.16.2; set MNT_ROOTFS for the rootfs (the kernel, a logical piece of work)
|
1.15 | 01-May-2009 |
pooka | fix editing artifact
|
1.14 | 29-Apr-2009 |
pooka | Add enough support to be able to create directories and perform lookups through them. This has two implications:
1) mountpoints can be created directly onto the rump rootfs. this is benefitial in test programs where we want the same program to be easily switched between testing against rump and testing against the host kernel. 2) fakeblk must be used (it used to work implicitly) to register block devices that should be used from the host fs namespace.
|
1.13 | 18-Apr-2009 |
pooka | null putpages has to unlock interlock instead of just returning success
|
1.12 | 16-Apr-2009 |
pooka | Allocate vnodes properly with getnewvnode() and support reclaim.
|
1.11 | 07-Apr-2009 |
pooka | Make it possible to use VCHR devices again.
|
1.10 | 20-Mar-2009 |
pooka | need atomic.h
|
1.9 | 19-Mar-2009 |
pooka | Make it possible to mount a file system through the mount() system call in addition to the old rump_mnt_mount(). Some issues remain (but require more deeprooted changes): * it is possible to mount only to / * unmount needs MNT_FORCE due to the new fs being root and having a bonus reference * cwdi is not set (since there is no concept of a process)
|
1.8 | 18-Mar-2009 |
cegger | Ansify function definitions w/o arguments. Generated with sed.
|
1.7 | 26-Feb-2009 |
pooka | Make rumpuser stat and nanosleep independent of the host system stat and timespec definitions.
|
1.6 | 13-Jan-2009 |
pooka | branches: 1.6.2; 1.6.4; 1.6.6; Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.5 | 29-Dec-2008 |
pooka | Register a dummy block device for rump, since some file systems do a sanity check to see if the block device exists. This dummy block device should eventually replace rump specfs.
|
1.4 | 29-Dec-2008 |
pooka | sprinkle static
|
1.3 | 18-Dec-2008 |
pooka | __KERNEL_RCSID
|
1.2 | 27-Nov-2008 |
pooka | * hang all mountpoints from rootvnode in our virtual mount hierarchy * set VV_ROOT for the rootvnode to make getcwd realize it has met its journey's end
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.6.6.2 | 23-Jul-2009 |
jym | Sync with HEAD.
|
1.6.6.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.6.4.4 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.6.4.3 | 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.6.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.6.4.1 | 13-Jan-2009 |
skrll | file rumpfs.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.6.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.6.2.1 | 13-Jan-2009 |
mjf | file rumpfs.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.16.2.8 | 09-Oct-2010 |
yamt | sync with head
|
1.16.2.7 | 11-Aug-2010 |
yamt | sync with head.
|
1.16.2.6 | 11-Mar-2010 |
yamt | sync with head
|
1.16.2.5 | 16-Sep-2009 |
yamt | sync with head
|
1.16.2.4 | 19-Aug-2009 |
yamt | sync with head.
|
1.16.2.3 | 20-Jun-2009 |
yamt | sync with head
|
1.16.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.16.2.1 | 03-May-2009 |
yamt | file rumpfs.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.36.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.36.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.36.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.37.2.7 | 12-Jun-2011 |
rmind | Sync RUMP's rump_etfs_remove() and uvm_aio_aiodone() with branch changes.
|
1.37.2.6 | 19-May-2011 |
rmind | Implement sharing of vnode_t::v_interlock amongst vnodes: - Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode(). - Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that. - Use sharing in tmpfs and layerfs for underlying object. - Simplify locking in ubc_fault(). - Sprinkle some asserts.
Discussed with ad@.
|
1.37.2.5 | 21-Apr-2011 |
rmind | sync with head
|
1.37.2.4 | 05-Mar-2011 |
rmind | sync with head
|
1.37.2.3 | 03-Jul-2010 |
rmind | sync with head
|
1.37.2.2 | 30-May-2010 |
rmind | sync with head
|
1.37.2.1 | 16-Mar-2010 |
rmind | Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
|
1.89.4.2 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.89.4.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.89.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.94.2.1 | 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.103.6.2 | 05-Apr-2012 |
mrg | sync to latest -current.
|
1.103.6.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.103.2.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.103.2.2 | 30-Oct-2012 |
yamt | sync with head
|
1.103.2.1 | 17-Apr-2012 |
yamt | sync with head
|
1.110.2.4 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.110.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.110.2.2 | 23-Jun-2013 |
tls | resync from head
|
1.110.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.117.2.2 | 18-May-2014 |
rmind | sync with head
|
1.117.2.1 | 28-Aug-2013 |
rmind | sync with head
|
1.126.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.129.2.1 | 24-Aug-2014 |
martin | Pull up following revision(s) (requested by maxv in ticket #51): sys/netinet6/ip6_output.c: revision 1.158 sys/rump/librump/rumpvfs/rumpfs.c: revision 1.130 Fix memory leaks in error cases
|
1.130.2.6 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.130.2.5 | 05-Feb-2017 |
skrll | Sync with HEAD
|
1.130.2.4 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.130.2.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.130.2.2 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.130.2.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.141.2.2 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.141.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.142.2.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.150.2.1 | 26-Feb-2018 |
snj | Pull up following revision(s) (requested by maya in ticket #581): sys/rump/librump/rumpvfs/rumpfs.c: 1.151-1.152 PR/52738: Martin Husemann: rumpfs does not support mtime -- When truncating a file make sure to update mtime. This fixes PR kern/51762 for rumpfs.
|
1.152.2.1 | 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.153.8.1 | 17-Jan-2020 |
ad | Sync with head.
|
1.153.2.2 | 21-Apr-2020 |
martin | Sync with HEAD
|
1.153.2.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.155.2.2 | 25-Apr-2020 |
bouyer | Sync with bouyer-xenpvh-base2 (HEAD)
|
1.155.2.1 | 20-Apr-2020 |
bouyer | Sync with HEAD
|
1.162.6.1 | 01-Aug-2021 |
thorpej | Sync with HEAD.
|
1.12 | 23-Feb-2020 |
ad | UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
1.11 | 26-Jan-2016 |
pooka | branches: 1.11.18; 1.11.24; generate privhdrs to new location
|
1.10 | 23-Apr-2015 |
pooka | Mark the vattr50 translation helpers as COMPAT_50
|
1.9 | 25-Apr-2014 |
pooka | branches: 1.9.4; Move the etfs linkage from rumpvfs to rumpkern, and replace the weak alias show with an honest pointer indirection.
No client-visible change. (apart from this version working e.g. on musl w/ dlopen)
|
1.8 | 18-Nov-2012 |
pooka | branches: 1.8.2; 1.8.10; Finally remove the "temporary" __VTYPE_DEFINED stuff I added >5 years ago.
|
1.7 | 30-Nov-2010 |
pooka | branches: 1.7.8; 1.7.18; remove unnecessary interface
|
1.6 | 07-Sep-2010 |
pooka | Retire the prehistoric chroot/cwd interfaces now that there is a process model in rump.
|
1.5 | 19-Jul-2010 |
pooka | Don't provide stat compat syscalls here, they come from rump_syscalls_compat.h now. (besides, I always hated how they were in the rump_pub_sys namespace instead of the rump_sys namespace)
|
1.4 | 26-May-2010 |
pooka | Add public namespace helper routine for dumping info on mountpoints.
|
1.3 | 20-May-2010 |
pooka | open VFS_EXTATTRCTL to user namespace
|
1.2 | 14-Apr-2010 |
pooka | Use "struct kauth_cred *" instead of kauth_cred_t in all exported interfaces. Allows to remove hairbrained _t typedef dance.
|
1.1 | 14-Oct-2009 |
pooka | branches: 1.1.2; 1.1.4; 1.1.6; Create rump public interfaces from description tables. This allows us to control and wrap all entry points from "userspace" into rump. This in turn is necessary for the upcoming rump cpu scheduler.
For each interface "foo" a public wrapper called "rump_foo" is created. It calls the internal implementation "rumppriv_foo". In case foo is to be called from inside of rump kernel space, the private interface "rumppriv_foo" is used -- the userspace wrapper prototypes are not even exported into the rump kernel namespace. Needless to say, the rump kernel internal interfaces are not exported for users.
Now, three classes of interfaces fight for control of rump: + the noble local control interfaces (which this commit addresses) + the insidious rump system calls (which are generated from syscalls.master) + and the evil vnode interfaces (which are generated from vnode_if.src)
|
1.1.6.2 | 05-Mar-2011 |
rmind | sync with head
|
1.1.6.1 | 30-May-2010 |
rmind | sync with head
|
1.1.4.4 | 09-Oct-2010 |
yamt | sync with head
|
1.1.4.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.1.4.2 | 11-Mar-2010 |
yamt | sync with head
|
1.1.4.1 | 14-Oct-2009 |
yamt | file rumpvfs.ifspec was added on branch yamt-nfs-mp on 2010-03-11 15:04:39 +0000
|
1.1.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.1.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.1.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.7.18.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.7.18.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.7.18.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.7.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.7.8.1 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.8.10.1 | 10-Aug-2014 |
tls | Rebase.
|
1.8.2.1 | 18-May-2014 |
rmind | sync with head
|
1.9.4.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.9.4.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.11.24.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.11.18.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.2 | 26-Jan-2016 |
pooka | branches: 1.2.16; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.1 | 22-Apr-2015 |
pooka | branches: 1.1.2; rename rumpvfs/compat.c to rumpvfs/rumpvfs_compat50.c
|
1.1.2.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 22-Apr-2015 |
skrll | file rumpvfs_compat50.c was added on branch nick-nhusb on 2015-06-06 14:40:29 +0000
|
1.2.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.16.1 | 26-Jan-2016 |
jdolecek | file rumpvfs_compat50.c was added on branch tls-maxphys on 2017-12-03 11:39:17 +0000
|
1.14 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.13 | 23-Apr-2015 |
pooka | regen for COMPAT_50 sprinklage
|
1.12 | 25-Apr-2014 |
pooka | branches: 1.12.4; regen
|
1.11 | 25-Apr-2014 |
pooka | regen for etfs move from rumpvfs to rumpkern
|
1.10 | 18-Nov-2012 |
pooka | branches: 1.10.2; 1.10.10; regen
|
1.9 | 30-Nov-2010 |
pooka | branches: 1.9.8; 1.9.18; regen: checksavecn is gone
|
1.8 | 07-Sep-2010 |
pooka | regen: rcvp/cdir interfaces go byebye in favour of rump syscalls
|
1.7 | 19-Jul-2010 |
pooka | regen: stat compat syscalls moved
|
1.6 | 26-May-2010 |
pooka | regen: rump_vfs_mount_print
|
1.5 | 20-May-2010 |
pooka | one more file to commit with regen
|
1.4 | 14-Apr-2010 |
pooka | regen: kauth_cred_t -> struct kauth_cred *
|
1.3 | 15-Oct-2009 |
pooka | branches: 1.3.2; 1.3.4; 1.3.6; regen: scheduling points in rump_pub wrappers
|
1.2 | 14-Oct-2009 |
pooka | regen: put all public interfaces created by ifspec into a rump_pub namespace
|
1.1 | 14-Oct-2009 |
pooka | generate rump local interfaces
|
1.3.6.2 | 05-Mar-2011 |
rmind | sync with head
|
1.3.6.1 | 30-May-2010 |
rmind | sync with head
|
1.3.4.4 | 09-Oct-2010 |
yamt | sync with head
|
1.3.4.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.3.4.2 | 11-Mar-2010 |
yamt | sync with head
|
1.3.4.1 | 15-Oct-2009 |
yamt | file rumpvfs_if_priv.h was added on branch yamt-nfs-mp on 2010-03-11 15:04:39 +0000
|
1.3.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.3.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.3.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.9.18.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.9.18.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.9.18.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.9.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.9.8.1 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.10.10.1 | 10-Aug-2014 |
tls | Rebase.
|
1.10.2.1 | 18-May-2014 |
rmind | sync with head
|
1.12.4.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.12.4.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.16 | 23-Feb-2020 |
ad | UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
1.15 | 26-Jan-2016 |
pooka | branches: 1.15.18; 1.15.24; regen rump kernel interfaces for header change. (they were already manually edited for a prior commit, so not much change)
|
1.14 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.13 | 23-Apr-2015 |
pooka | regen for COMPAT_50 sprinklage
|
1.12 | 25-Apr-2014 |
pooka | branches: 1.12.4; regen
|
1.11 | 25-Apr-2014 |
pooka | regen for etfs move from rumpvfs to rumpkern
|
1.10 | 18-Nov-2012 |
pooka | branches: 1.10.2; 1.10.10; regen
|
1.9 | 30-Nov-2010 |
pooka | branches: 1.9.8; 1.9.18; regen: checksavecn is gone
|
1.8 | 07-Sep-2010 |
pooka | regen: rcvp/cdir interfaces go byebye in favour of rump syscalls
|
1.7 | 19-Jul-2010 |
pooka | regen: stat compat syscalls moved
|
1.6 | 26-May-2010 |
pooka | regen: rump_vfs_mount_print
|
1.5 | 20-May-2010 |
pooka | regen: rump_vfs_extattrctl
|
1.4 | 14-Apr-2010 |
pooka | regen: kauth_cred_t -> struct kauth_cred *
|
1.3 | 15-Oct-2009 |
pooka | branches: 1.3.2; 1.3.4; 1.3.6; regen: scheduling points in rump_pub wrappers
|
1.2 | 14-Oct-2009 |
pooka | regen: put all public interfaces created by ifspec into a rump_pub namespace
|
1.1 | 14-Oct-2009 |
pooka | generate rump local interfaces
|
1.3.6.2 | 05-Mar-2011 |
rmind | sync with head
|
1.3.6.1 | 30-May-2010 |
rmind | sync with head
|
1.3.4.4 | 09-Oct-2010 |
yamt | sync with head
|
1.3.4.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.3.4.2 | 11-Mar-2010 |
yamt | sync with head
|
1.3.4.1 | 15-Oct-2009 |
yamt | file rumpvfs_if_wrappers.c was added on branch yamt-nfs-mp on 2010-03-11 15:04:39 +0000
|
1.3.2.3 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.3.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.3.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.9.18.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.9.18.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.9.18.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.9.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.9.8.1 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.10.10.1 | 10-Aug-2014 |
tls | Rebase.
|
1.10.2.1 | 18-May-2014 |
rmind | sync with head
|
1.12.4.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.12.4.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.15.24.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.15.18.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.12 | 20-May-2024 |
christos | regen
|
1.11 | 19-May-2024 |
christos | regen
|
1.10 | 29-Jul-2023 |
rin | rump: Regen again to fix missing __kevent100 symbol.
makerumpsyscalls.sh requires rebuilt rump libraries installed in /usr/lib or directory specified by its first argument.
Now, new failures observed for ATF after __kevent100 addition are fixed at least for aarch64.
|
1.9 | 10-Jul-2023 |
christos | Regen
|
1.8 | 27-May-2020 |
christos | regen for lpathconf.
|
1.7 | 25-Sep-2019 |
christos | Regen
|
1.6 | 22-Sep-2019 |
christos | regen
|
1.5 | 26-Jan-2016 |
pooka | branches: 1.5.18; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.4 | 18-Jun-2015 |
pooka | regen
|
1.3 | 08-Apr-2015 |
justin | regen after syscall update
|
1.2 | 27-Apr-2014 |
pooka | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.12; regen
|
1.1 | 27-Apr-2014 |
pooka | Eliminate weak symbols from rump kernel syscall handlers, part 6:
Generate component constructors which establish non-modular syscalls.
|
1.2.12.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.2.12.2 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.2.12.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.10.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.2.10.1 | 27-Apr-2014 |
tls | file rumpvfs_syscalls.c was added on branch tls-maxphys on 2014-08-20 00:04:42 +0000
|
1.2.6.2 | 10-Aug-2014 |
tls | Rebase.
|
1.2.6.1 | 27-Apr-2014 |
tls | file rumpvfs_syscalls.c was added on branch tls-earlyentropy on 2014-08-10 06:56:51 +0000
|
1.2.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.4.1 | 27-Apr-2014 |
yamt | file rumpvfs_syscalls.c was added on branch yamt-pagecache on 2014-05-22 11:41:16 +0000
|
1.2.2.2 | 18-May-2014 |
rmind | sync with head
|
1.2.2.1 | 27-Apr-2014 |
rmind | file rumpvfs_syscalls.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|
1.5.18.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.41 | 15-Jun-2023 |
hannken | Regen.
|
1.40 | 18-Jul-2022 |
thorpej | branches: 1.40.4; Regen for:
Make kqueue event status for vnodes shareable, and for stacked file systems like nullfs, make the upper vnode share that status with the lower vnode.
And, lo, NetBSD 9.99.99.
Fixes PR kern/56713.
|
1.39 | 03-May-2022 |
hannken | Regen.
|
1.38 | 03-May-2022 |
hannken | Regen.
|
1.37 | 20-Oct-2021 |
thorpej | Regen for:
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
1.36 | 02-Jul-2021 |
dholland | Regen.
|
1.35 | 29-Jun-2021 |
dholland | Regen.
|
1.34 | 16-May-2020 |
christos | branches: 1.34.6; Add ACL support for FFS. From FreeBSD.
|
1.33 | 23-Feb-2020 |
ad | Regen.
|
1.32 | 01-Dec-2019 |
ad | branches: 1.32.2; Regen for VOP_LOCK & LK_UPGRADE/LK_DOWNGRADE.
|
1.31 | 12-Jul-2017 |
hannken | branches: 1.31.6; Regen.
|
1.30 | 04-Jun-2017 |
hannken | Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
File system state FSTRANS_SUSPENDING is now unused so remove it.
Regen vnode_if files.
Ride 8.99.1 less than a hour ago.
|
1.29 | 04-Jun-2017 |
hannken | Regen.
|
1.28 | 26-May-2017 |
riastradh | branches: 1.28.2; regen
|
1.27 | 26-Apr-2017 |
riastradh | regen
|
1.26 | 16-Apr-2017 |
riastradh | regen to confirm no functional change
|
1.25 | 16-Apr-2017 |
riastradh | regen
|
1.24 | 15-Apr-2017 |
riastradh | regen to confirm no functional change
|
1.23 | 11-Apr-2017 |
riastradh | regen to confirm no functional change
|
1.22 | 11-Apr-2017 |
riastradh | regen
|
1.21 | 22-Feb-2017 |
hannken | Regen.
|
1.20 | 26-Jan-2016 |
pooka | branches: 1.20.2; 1.20.4; regen vnode interfaces
|
1.19 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.18 | 20-Apr-2015 |
riastradh | regen for good measure (no functional change)
|
1.17 | 20-Apr-2015 |
riastradh | Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
|
1.16 | 25-Jul-2014 |
dholland | branches: 1.16.4; Regen for VOP_FALLOCATE/VOP_FDISCARD.
|
1.15 | 07-Feb-2014 |
hannken | branches: 1.15.2; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
1.14 | 23-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
1.13 | 17-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to keep the directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
|
1.12 | 17-Jul-2013 |
pooka | regen
|
1.11 | 08-Aug-2011 |
manu | branches: 1.11.2; 1.11.12; 1.11.16; 1.11.24; regen
|
1.10 | 11-Jul-2011 |
hannken | Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
- change all occurences of VOP_BWRITE(bp) to VOP_BWRITE(bp->b_vp, bp). - remove layer_bwrite(). - welcome to 5.99.55
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
1.9 | 04-Jul-2011 |
manu | Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the filesystem in which format extended attribute shall be listed.
There are currently two formats: - NUL-terminated strings, used for listxattr(2), this is the default. - one byte length-pprefixed, non NUL-terminated strings, used for extattr_list_file(2), which is obtanined by setting the EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)
This approach avoid the need for converting the list back and forth, except in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may have requested EXTATTR_LIST_PREFIXLEN.
|
1.8 | 06-Mar-2011 |
bouyer | merge the bouyer-quota2 branch. This adds a new on-disk format to store disk quota usage and limits, integrated with ffs metadata. Usage is checked by fsck_ffs (no more quotacheck) and is covered by the WAPBL journal. Enabled with kernel option QUOTA2 (added where QUOTA was enabled in kernel config files), turned on with tunefs(8) on a per-filesystem basis. mount_mfs(8) can also turn quotas on.
See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html for details.
|
1.7 | 24-Jun-2010 |
hannken | branches: 1.7.2; 1.7.4; 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.6 | 14-Apr-2010 |
pooka | regen: rump vnodeif went on a diet
|
1.5 | 14-Apr-2010 |
pooka | regenefactor for comment and whitespace changes
|
1.4 | 10-Apr-2010 |
pooka | regen: remove unused vdesc_transports
|
1.3 | 15-Oct-2009 |
pooka | branches: 1.3.2; 1.3.4; regen: scheduling points
|
1.2 | 29-Sep-2009 |
pooka | regen: remove VNODE_LOCKDEBUG
|
1.1 | 19-Nov-2008 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.1.10.4 | 11-Aug-2010 |
yamt | sync with head.
|
1.1.10.3 | 11-Mar-2010 |
yamt | sync with head
|
1.1.10.2 | 04-May-2009 |
yamt | sync with head.
|
1.1.10.1 | 19-Nov-2008 |
yamt | file rumpvnode_if.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.1.6.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.1.6.1 | 19-Nov-2008 |
skrll | file rumpvnode_if.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.1.4.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.1.4.1 | 19-Nov-2008 |
mjf | file rumpvnode_if.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.3.4.3 | 21-Apr-2011 |
rmind | sync with head
|
1.3.4.2 | 03-Jul-2010 |
rmind | sync with head
|
1.3.4.1 | 30-May-2010 |
rmind | sync with head
|
1.3.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.3.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.7.4.1 | 20-Jan-2011 |
bouyer | Snapshot of work in progress on a modernised disk quota system: - new quotactl syscall (versionned for backward compat), which takes as parameter a path to a mount point, and a prop_dictionary (in plistref format) describing commands and arguments. For each command, status and data are returned as a prop_dictionary. quota commands features will be added to take advantage of this, exporting quota data or getting quota commands as plists.
- new on disk-format storage (all 64bit wide), integrated to metadata for ffs (and playing nicely with wapbl). Quotas are enabled on a ffs filesystem via superblock flags. tunefs(8) can enable or disable quotas. On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid block and inode usages, and will check and update quotas in Pass 6. quota usage and limits are stored in unliked files (one for users, one for groups)l fsck_ffs(8) will create the files if needed, or free them if needed. This means that after enabling or disabling quotas on a filesystem; a fsck_ffs(8) run is required. quotacheck(8) is not needed any more, on a unclean shutdown fsck or journal replay will take care of fixing quotas. newfs(8) can create a ready-to-mount quota-enabled filesystem (superblock flags are set and quota inodes are created). Other new features or semantic changes: - default quota datas, applied to users or groups which don't already have a quota entry - per-user/group grace time (instead of a filesystem global one) - 0 really means "nothing allowed at all", not "no limit". If you want "no limit", set the limit to UQUAD_MAX (tools will understand "unlimited" and "-")
A quota file is structured as follow: it starts with a header, containing a few per-filesystem values, and the default quota limits. Quota entries are linked together as a simple list, each entry has a pointer (as an offset withing the file) to the next. The header has a pointer to a list of free quota entries, and a hash table of in-use entries. The size of the hash table depends on the filesystem block size (header+hash table should fit in the first block). The file is not sparse and is a multiple of filesystem block size (when the free quota entry list is empty a new filesystem block is allocated). quota entries to not cross filesystem block boundaries.
In memory, the kernel keeps a cache of recently used quota entries as a reference to the block number, and offset withing the block. The quota entry itself is keept in the buf cache.
fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with related atf tests :) The kernel can update disk usage and report it via quotactl(2).
Todo: enforce quotas limits (limits are not checked by kernel yet) update repquota, edquota and rpc.rquotad to the new world implement compat_50_quotactl ioctl. update quotactl(2) man page
fsck_ffs required fixes so that allocating new blocks or inodes will properly update the superblock and cg sumaries. This was not an issue up to now because superblock and cg sumaries check happened last, but now allocations or frees can happen in pass 6.
|
1.7.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.11.24.1 | 23-Jul-2013 |
riastradh | sync with HEAD
|
1.11.16.2 | 18-May-2014 |
rmind | sync with head
|
1.11.16.1 | 28-Aug-2013 |
rmind | sync with head
|
1.11.12.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.11.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.11.2.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.15.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.16.4.3 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.16.4.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.16.4.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.20.4.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.20.2.2 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.20.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.28.2.2 | 25-Jul-2017 |
snj | regen for ticket 130
|
1.28.2.1 | 04-Jun-2017 |
bouyer | pullup the following revisions, requested by hannken in ticket #2: src/share/man/man9/fstrans.9 1.25 src/sys/kern/vfs_mount.c 1.66 src/sys/kern/vfs_subr.c 1.468 src/sys/kern/vfs_trans.c 1.46 src/sys/kern/vfs_vnode.c 1.94, 1.95, 1.96 src/sys/kern/vnode_if.c 1.105, 1.106 src/sys/kern/vnode_if.sh 1.65, 1.66 src/sys/kern/vnode_if.src 1.76 src/sys/miscfs/genfs/genfs_io.c 1.69 src/sys/miscfs/genfs/genfs_vnops.c 1.196, 1.197 src/sys/miscfs/genfs/layer_extern.h 1.40 src/sys/miscfs/genfs/layer_vfsops.c 1.51 src/sys/miscfs/genfs/layer_vnops.c 1.67 src/sys/miscfs/nullfs/null_vnops.c 1.42 src/sys/miscfs/overlay/overlay_vnops.c 1.24 src/sys/miscfs/umapfs/umap_vnops.c 1.60 src/sys/rump/include/rump/rumpvnode_if.h 1.29, 1.30 src/sys/rump/librump/rumpkern/emul.c 1.182 src/sys/rump/librump/rumpvfs/rumpvnode_if.c 1.29, 1.30 src/sys/sys/fstrans.h 1.11 src/sys/sys/vnode.h 1.278 src/sys/sys/vnode_if.h 1.100, 1.101 src/sys/sys/vnode_impl.h 1.14, 1.15 src/sys/ufs/lfs/lfs_pages.c 1.12
Vnode state, lock and fstrans cleanup: - Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.
- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.
- Cleanup the genfs lock operations.
- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.
- Remove the lock type argument from fstrans_start and fstrans_start_nowait, remove now unused FSTRANS state "FSTRANS_SUSPENDING".
|
1.31.6.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.32.2.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.34.6.1 | 01-Aug-2021 |
thorpej | Sync with HEAD.
|
1.40.4.1 | 21-Jun-2023 |
martin | Regen (ticket #197)
|
1.5 | 13-Jan-2009 |
pooka | branches: 1.5.2; Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.4 | 07-Jan-2009 |
pooka | more namespacing: rua -> rumpuser_aio
|
1.3 | 29-Dec-2008 |
pooka | Rename specfs_lock as device_lock and move it from specfs to devsw. Relaxes kernel dependency on vfs.
|
1.2 | 18-Dec-2008 |
pooka | __KERNEL_RCSID
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.5.2.3 | 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.5.2.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.5.2.1 | 13-Jan-2009 |
skrll | file specfs.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.9 | 29-Mar-2010 |
pooka | Support fifofs in rump. Do not include it in rumpvfs directly, since it involves some very non-fs'y components like sockets and local domain networking. Also (for better or worse?), call it rump*v*fs_fifofs instead of rumpfs_fifofs, since it does not really provide a file system driver.
XXX: uses duplicate common symbols and functionality depends on link order ... (but at least it works better than before this change)
|
1.8 | 26-Mar-2010 |
pooka | rootfstype is not a vfs stub, so it doesn't belong in vfs_stubs
|
1.7 | 19-Mar-2009 |
pooka | branches: 1.7.2; 1.7.4; 1.7.6; Make it possible to mount a file system through the mount() system call in addition to the old rump_mnt_mount(). Some issues remain (but require more deeprooted changes): * it is possible to mount only to / * unmount needs MNT_FORCE due to the new fs being root and having a bonus reference * cwdi is not set (since there is no concept of a process)
|
1.6 | 13-Jan-2009 |
pooka | branches: 1.6.2; 1.6.4; 1.6.6; include vfs_lockf.c
|
1.5 | 13-Jan-2009 |
pooka | Implement block I/O as a real block driver instead of a hacked copy of specfs. That was easier years ago when rump didn't support devices, but brings no gain now. This allows us to include the real specfs in rump.
|
1.4 | 19-Dec-2008 |
pgoyette | Store config(1)'s root filesystem type as a text string rather than embedding the address of its xxx_mountroot() in swapnetbsd.c. This permits booting of kernels with hard-wired filesystem type even if the filesystem is in a loadable module (ie, not linked into the kernel image).
Discussed on current-users. Tested on amd64 and i386 with both hard- wired and '?' filesystem times, and on both modular and monolithic kernels.
Thanks to pooka@ for code review and suggestions.
Addresses my PR kern/40167
|
1.3 | 19-Dec-2008 |
pooka | include vfs_xattr.c
|
1.2 | 18-Dec-2008 |
pooka | __KERNEL_RCSID
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.6.6.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.6.4.3 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.6.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.6.4.1 | 13-Jan-2009 |
skrll | file vfsops_stub.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.6.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.6.2.1 | 13-Jan-2009 |
mjf | file vfsops_stub.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.7.6.1 | 30-May-2010 |
rmind | sync with head
|
1.7.4.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.7.2.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.7.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.7.2.1 | 19-Mar-2009 |
yamt | file vfsops_stub.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.42 | 22-Apr-2023 |
riastradh | rump: Move ubc_uiomove, ubc_zerorange from rumpvfs to rumpkern.
Needed by kern_ksyms.c. We could split kern_ksyms.c up into kernel- internal interfaces and the user/kernel /dev/ksyms interface, but there's nothing vfs-specific about ubc_uiomove and ubc_zerorange anyway, so let's just define them in rumpkern.
|
1.41 | 09-Dec-2020 |
chs | make rump's uvm_aio_aiodone_pages() look more like the kernel version. fixes some more rumpy assertions.
|
1.40 | 22-Oct-2020 |
chs | branches: 1.40.2; fix an incorrect assertion in the previous commit.
|
1.39 | 18-Oct-2020 |
chs | Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel. In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702.
|
1.38 | 23-Feb-2020 |
ad | UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
1.37 | 18-Feb-2020 |
chs | remove the aiodoned thread. I originally added this to provide a thread context for doing page cache iodone work, but since then biodone() has changed to hand off all iodone work to a softint thread, so we no longer need the special-purpose aiodoned thread.
|
1.36 | 15-Jan-2020 |
ad | Merge from yamt-pagecache (after much testing):
- Reduce unnecessary page scan in putpages esp. when an object has a ton of pages cached but only a few of them are dirty.
- Reduce the number of pmap operations by tracking page dirtiness more precisely in uvm layer.
|
1.35 | 13-Dec-2019 |
ad | branches: 1.35.2; Break the global uvm_pageqlock into a per-page identity lock and a private lock for use of the pagedaemon policy code. Discussed on tech-kern.
PR kern/54209: NetBSD 8 large memory performance extremely low PR kern/54210: NetBSD-8 processes presumably not exiting PR kern/54727: writing a large file causes unreasonable system behaviour
|
1.34 | 18-Oct-2013 |
christos | branches: 1.34.30; 1.34.34; remove unused variable
|
1.33 | 03-Jun-2012 |
rmind | branches: 1.33.2; 1.33.4; rumpvfs: - ubc_uiomove: avoid the re-lock dance, since the lock is shared these days. - uvm_aio_aiodone: acquire the lock before modifying the page flags.
Tested by martin@.
|
1.32 | 19-Jun-2011 |
hannken | branches: 1.32.2; Revert previous. ubc_purge() is already defined in rumpkern/vm.c
|
1.31 | 19-Jun-2011 |
hannken | Add a noop wrapper for ubc_purge() to make file system tests work again.
Not really sure if this is the right way -- Antti?
|
1.30 | 16-Jun-2011 |
hannken | Rename uvm_vnp_zerorange(struct vnode *, off_t, size_t) to ubc_zerorange(struct uvm_object *, off_t, size_t, int) changing the first argument to an uvm_object and adding a flags argument.
Modify tmpfs_reg_resize() to zero the backing store (aobj) instead of the vnode. Ubc_purge() no longer panics when unmounting tmpfs.
Keep uvm_vnp_zerorange() until the next kernel version bump.
|
1.29 | 12-Jun-2011 |
rmind | Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.28 | 21-Mar-2011 |
pooka | branches: 1.28.2; Update copyright statements.
no functional change.
|
1.27 | 01-Mar-2011 |
pooka | Pass accurate protection info from ubc_uiomove() to the pager. Fixes nfs{,ro}_fileio tests on at least sparc64 (and probably macppc and other fat endian machines).
The problem was that nfs was fooled to thinking read() caused a write fault because of VM_PROT_WRITE being unconditionally set and therefore set NMODIFIED on a r/o file system. It is absolutely beyond me why the test worked on i386/amd64. Incidentally, I seem to have "misplaced" a few goats.
|
1.26 | 27-Feb-2011 |
pooka | tmpfs has two layers of uvm objects (vnode->uobj and the anon object in tmpfs_node), so when playing with pages make sure we lock the uvm object the pages belong to instead of the vnode's uvm object.
per test from Nicolas Joly (which I'm sure he will commit soon ;)
|
1.25 | 22-Feb-2011 |
pooka | Shuffle the pagedaemon algorithm a bit to record the number of pageouts active and give up only if the pagedaemon could not free memory and there are no outstanding pageouts.
This should fix the "out of memory" pauses reported by Mihai Chelaru and Taylor R Campbell. Tested by copying files to and from an ffs backed by /dev/wd0 (with and without -o log) using a 1MB rump kernel memory limit.
|
1.24 | 18-Dec-2010 |
pooka | branches: 1.24.2; 1.24.4; Don't loop eternally if uiomove() fails eternally (e.g. because the connection to the client has been severed).
|
1.23 | 09-Sep-2010 |
pooka | Release PG_PAGEOUT pages in aiodone.
|
1.22 | 09-Sep-2010 |
pooka | hold object lock across page unbusy
|
1.21 | 09-Sep-2010 |
pooka | Use proper locking before unbusying pages.
Caught after yesterday's changes by the test suite (the ffs snapshot test, to be precise).
|
1.20 | 06-Sep-2010 |
pooka | Make the pager loops more resilient against the aobj pager which is lazy and doesn't like to return anything except the bare minimum. (forgot to commit this earlier)
|
1.19 | 06-Sep-2010 |
pooka | pager wants truncated offsets
|
1.18 | 06-Sep-2010 |
pooka | simplify and fix len-to-npages calculation
|
1.17 | 19-Aug-2010 |
pooka | Use the same base pagerflags for both ubc_uiomove and ubc_zerorange.
|
1.16 | 02-Jun-2010 |
pooka | In aiodone, call uvm_pageout_done() with number of PG_PAGEOUT pages processed.
|
1.15 | 16-Dec-2009 |
pooka | branches: 1.15.2; 1.15.4; If zeroing len == 0, return immediately. (kmem_alloc() doesn't like being called with size == 0)
|
1.14 | 10-Nov-2009 |
pooka | Code which uses pages fetched by the pager needs PGO_SYNCIO for obvious reasons.
|
1.13 | 18-Oct-2009 |
pooka | Clear PG_FAKE for pages we wrote to. This avoids paging in data we already have (and the backend might not yet have) in cases where fs_bshift > PAGE_SHIFT.
|
1.12 | 07-Oct-2009 |
pooka | Use uvm_readahead.c instead of null stubs.
|
1.11 | 05-Oct-2009 |
pooka | Call the pager with page-aligned offsets, 'cause that's what the pager expects. Fixes KASSERT failure if someone manages to do otherwise.
|
1.10 | 05-Aug-2009 |
pooka | g/c uvm_aio_biodone1(). not used anymore.
|
1.9 | 05-Aug-2009 |
pooka | Clear PG_PAGEOUT in uvm_aio_aiodone()
|
1.8 | 05-Aug-2009 |
pooka | Use uvm_vnode.c instead of homerolled stuff.
|
1.7 | 04-Aug-2009 |
pooka | terminate comment too
|
1.6 | 04-Aug-2009 |
pooka | * supply pager flags in ubc_uiomove() * implement uvm_aio_aiodone() (which is almost identical to the "real" one)
|
1.5 | 18-Mar-2009 |
cegger | branches: 1.5.2; Ansify function definitions w/o arguments. Generated with sed.
|
1.4 | 22-Feb-2009 |
ad | PR kern/26878 FFSv2 + softdep = livelock (no free ram) PR kern/16942 panic with softdep and quotas PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch PR kern/26274 softdep panic: allocdirect_merge: ... PR kern/26374 Long delay before non-root users can write to softdep partitions PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk PR kern/31981 stopping scsi disk can cause panic (softdep) PR kern/32116 kernel panic in softdep (assertion failure) PR kern/32532 softdep_trackbufs deadlock PR kern/37191 softdep: locking against myself PR kern/40474 Kernel panic after remounting raid root with softdep
Retire softdep, pass 2. As discussed and later formally announced on the mailing lists.
|
1.3 | 18-Dec-2008 |
pooka | branches: 1.3.2; 1.3.4; 1.3.6; __KERNEL_RCSID
|
1.2 | 27-Nov-2008 |
pooka | Move more vfs-related vm routines from rumpkern to rumpvfs.
|
1.1 | 19-Nov-2008 |
pooka | Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer include the file system code. File system rumps explicitly need to include rumpvfs from now on.
|
1.3.6.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.3.4.4 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.3.4.3 | 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.3.4.2 | 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.3.4.1 | 18-Dec-2008 |
skrll | file vm_vfs.c was added on branch nick-hppapmap on 2009-01-19 13:20:27 +0000
|
1.3.2.2 | 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.3.2.1 | 18-Dec-2008 |
mjf | file vm_vfs.c was added on branch mjf-devfs2 on 2009-01-17 13:29:38 +0000
|
1.5.2.6 | 09-Oct-2010 |
yamt | sync with head
|
1.5.2.5 | 11-Aug-2010 |
yamt | sync with head.
|
1.5.2.4 | 11-Mar-2010 |
yamt | sync with head
|
1.5.2.3 | 19-Aug-2009 |
yamt | sync with head.
|
1.5.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.5.2.1 | 18-Mar-2009 |
yamt | file vm_vfs.c was added on branch yamt-nfs-mp on 2009-05-04 08:14:31 +0000
|
1.15.4.5 | 12-Jun-2011 |
rmind | Sync RUMP's rump_etfs_remove() and uvm_aio_aiodone() with branch changes.
|
1.15.4.4 | 21-Apr-2011 |
rmind | sync with head
|
1.15.4.3 | 05-Mar-2011 |
rmind | sync with head
|
1.15.4.2 | 03-Jul-2010 |
rmind | sync with head
|
1.15.4.1 | 16-Mar-2010 |
rmind | Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
|
1.15.2.2 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.15.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.24.4.1 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.24.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.28.2.1 | 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.32.2.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.32.2.3 | 02-Nov-2012 |
yamt | fix a merge botch
|
1.32.2.2 | 30-Oct-2012 |
yamt | sync with head
|
1.32.2.1 | 02-Nov-2011 |
yamt | page cache related changes
- maintain object pages in radix tree rather than rb tree. - reduce unnecessary page scan in putpages. esp. when an object has a ton of pages cached but only a few of them are dirty. - reduce the number of pmap operations by tracking page dirtiness more precisely in uvm layer. - fix nfs commit range tracking. - fix nfs write clustering. XXX hack
|
1.33.4.1 | 18-May-2014 |
rmind | sync with head
|
1.33.2.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.34.34.2 | 09-Jul-2021 |
martin | Apply patch, requested by chs in ticket #1321:
sys/rump/librump/rumpvfs/vm_vfs.c (apply patch)
Adapt the changes from ticket #1317 (the uvm_pageqlock does not exist any more in HEAD)
|
1.34.34.1 | 06-Jul-2021 |
martin | Pull up following revision(s) - all via patch - (requested by riastradh in ticket #1317):
sys/uvm/uvm_page.c: revision 1.248 sys/uvm/uvm_anon.c: revision 1.80 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.40 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.41 sys/rump/librump/rumpkern/vm.c: revision 1.191 sys/uvm/uvm_pager.c: revision 1.130 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.71 tests/rump/rumpkern/t_vm.c: revision 1.5 tests/rump/rumpkern/t_vm.c: revision 1.6 sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.39
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702.
fix an incorrect assertion in the previous commit.
Handle PG_PAGEOUT in uvm_anon_release() too.
Commit the ZFS file that I forgot in this previous commit:
Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to handle this flag separately. Split out the pages part of uvm_aio_aiodone() into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages, use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can handle these "I/O" errors. Fixes PR 55702. update the rump copy of uvm_page_unbusy() to match the real version, in particular handle PG_PAGEOUT. fixes a few atf tests. the busypage test is buggy, expect it to fail.
make rump's uvm_aio_aiodone_pages() look more like the kernel version. fixes some more rumpy assertions.
for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip() because atf apparently has no way to expect a test program to crash. fixes PR 55945.
|
1.34.30.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.35.2.2 | 29-Feb-2020 |
ad | Sync with head.
|
1.35.2.1 | 17-Jan-2020 |
ad | Sync with head.
|
1.40.2.1 | 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|