summaryrefslogtreecommitdiff
path: root/lib/libp2k/p2k.c
AgeCommit message (Collapse)Author
2022-05-24fix various typos in comment, documentation and log messages.andvar
2022-04-19lib: remove CONSTCOND commentrillig
Since 2021-01-31, lint doesn't need it anymore for the common pattern of 'do ... while (0)'.
2020-02-23UVM locking changes, proposed on tech-kern:ad
- 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.
2020-02-20Fix kassert in lfs by initializing vp first.riastradh
2019-09-23Restore binary compatibility by using the statvfs90 structure internally.christos
2017-04-26Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.riastradh
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
2017-04-11Make VOP_INACTIVE preserve vnode lock on return.riastradh
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!
2016-01-25Don't include <rump/rumpvnode_if.h> from rump.h. It's not neededpooka
unless you're doing something special, but requires register_t. Adjust the few places which actually need rumpvnode_if.h.
2016-01-23Don't include <sys/vnode.h> to get the pager constants.christos
2015-04-20Make VOP_LINK return directory still locked and referenced.riastradh
Ride 7.99.10 bump.
2015-04-20Release dir after create/mknod/mkdir/symlink as 6.99.29 required.riastradh
2014-03-10rump_pub_getversion -> rump_getversionpooka
2014-02-07Change vnode operation lookup to return the resulting vnode *vpp unlocked.hannken
Change cache_lookup() to return an unlocked vnode. Discussed on tech-kern@ Welcome to 6.99.31
2014-01-23Change vnode operations create, mknod, mkdir and symlink to returnhannken
the resulting vnode *vpp unlocked. Discussed on tech-kern@ Welcome to 6.99.30
2014-01-17Change vnode operations create, mknod, mkdir and symlink to keep thehannken
directory node dvp locked on return. Discussed on tech-kern@ Welcome to 6.99.29
2012-11-23Explicitly cast enum type.joerg
2012-11-18s/EJUSTRETURN/RUMP_EJUSTRETURN/pooka
2012-11-18Finally remove the "temporary" __VTYPE_DEFINED stuff I added >5 years ago.pooka
2012-08-16Fix regression that has been introduced when the lookup/reclaim racemanu
condition was addressed in libpuffs by counting lookups. The fix assumes that cookies map to struct puffs_cookie, which has not been documented as a requirement for filesystems using libpuffs. As an example, we got burnt by this assumption in libp2k (kern/46734), and we fixed bit by actually mapping libp2k cookies to struct puffs_node. It is unlikely, but there may be third party filesystems that use cookies unmapped to struct puffs_node, and they were left broken for now. - we introduce a puffs_init() flag PUFFS_FLAG_PNCOOKIE that let filesystems inform libpuffs that they map cookies to struct puffs_node. Is that flag is used, the lookup/reclaim race condition fix is enabled. We enable the flag for libp2k. - filesystems that use puffs_pn_new() obviouslty use struct puffs_node and gain PUFFS_FLAG_PNCOOKIE automatically even if they did not specify it in puffs_init(). This include all our PUFFS filesystem in-tree except libp2k. - for filesystems not willing to use struct puffs_node, we introduce a reclaim2 vnop, which is reclaim with an additionnal lookup count argument. This vnop let the filesystem implement the lookup/reclaim race fix on its own.
2012-08-12libpuffs and libp2k both use the cookie to different structure, which nowmanu
leads to struct p2k_node corruption now that libpuffs used pn_nlookup field in struct puffs_node to avoid race conditions. Attempt to fix that by adding a struct puffs_node at the beginning of struct p2k_node. This seems to fix kern/46734
2011-07-04Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell themanu
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.
2011-01-07Make P2K_WIZARDUID require a valid integer instead of defaulting to root.pooka
2011-01-07In case of a P2K_DEBUG mount, dump mount point contents when thepooka
process receives SIGINFO. Additionally, dump vnode status if the process gets SIGUSR1 (can be quite quite verbose, therefore not displayed with SIGINFO).
2011-01-07in case unmount fails (it never should), do a full mountpoint dumppooka
2011-01-07Remove the componentname-saving code since it was addressingpooka
SAVENAME/HASBUF/SAVESTART and they don't exist anymore (and the removed code didn't compile on nb5).
2011-01-07Fix file handles. Problem reported & fix tested by kefren.pooka
2011-01-02rump_lwproc_newproc -> rump_lwproc_rforkpooka
2011-01-02Add an INRELOOKUP namei flag. Sigh. (We don't need more namei flags.)dholland
However, because of a protocol deficiency puffs relies on being able to keep track of VOP_LOOKUP calls by inspecting their contents, and this at least allows it to use something vaguely principled instead of making wild guesses based on whether SAVESTART is set. Update libp2k to use INRELOOKUP instead of SAVESTART.
2010-11-30Remove dead code from previous revision.pooka
2010-11-30SAVENAME and HASBUF namei flags have been removed; update accordingly.dholland
(pooka@ says not to worry about compat.)
2010-11-26update commentpooka
2010-09-07Simplify now that ukfs deals with being called from a thread whichpooka
already has a rump lwp context.
2010-09-07Migrate from rump private interfaces to syscalls.pooka
2010-09-01update to new rump proc/lwp interfacespooka
2010-06-24Clean up vnode lock operations pass 2:hannken
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument. Welcome to 5.99.32. Discussed on tech-kern.
2010-06-07no need to typecast in pathconf anymorepooka
2010-06-06Pass VOP_PATHCONF to backend file server. inspired by njoly.pooka
2010-05-21support extended attributespooka
2010-05-20Initialize "hasdebug" default deterministically.pooka
2010-05-01If P2K_DEBUG is given, also dump rump kernel event counters whenpooka
file system is unmounted.
2010-04-29If vfstype is MOUNT_RUMPFS, assume we don't actually want to mountpooka
a file system, but attach to the root in the fs namespace of a rump kernel.
2010-04-14Some _t purification. no functional change.pooka
2009-12-23Technically we're supposed to use flags from the RUMP_NAMEI namespacepooka
instead of NAMEI directly. Probably doesn't matter in practise, since the chances of this running on non-NetBSD are low. But make it correct anyway.
2009-12-23Use NAMEI_INRENAME to improve the situation with detecting on whenpooka
to save componentname instead of looking at SAVESTART. Not perfect, but better. Also, try to be more forgiving of kernel bugs.
2009-12-16Don't VOP_PUTPAGES(PGO_FREE) in inactive for tmpfs, since we nowpooka
(after some changes to rump) actually free those pages, leaving the tmpfs vnode feeling quite empty. (the purpose of the flush is to avoid double caching between the rump kernel and puffs vfs layer)
2009-12-03Adapt ukfs users to the new ukfs_part interface.pooka
2009-11-20Report actual group array size instead of 0 (which always gives back 0 grousp).pooka
2009-11-20Add "wizardmode", which allows to specify the uid which is used topooka
access the file system instead of using the caller uid. This is useful for example when modifying the root fs image for an OS installation without wanting to dance around as root on the host. idspispopd
2009-10-19Default "recycle" to false in inactive. File system drivers dopooka
not always set it.
2009-10-18Split init routines a bit more to allow for p2k init without havingpooka
to pass any real configuration data. This benefits things like rump_smbfs which need to init rump before running the userspace mount routines (because they make rump system calls) but cannot run p2k_setup() at that stage because it requires data provided by the userspace mount routines. And p2k_setup() in turn forks (to detach), so it cannot be run after rump has been inited and threads have been created.