Commit Graph

92 Commits

Author SHA1 Message Date
andvar 6c5bf42769 p2k(3): drop reference to rump_smbfs(8). 2022-07-11 19:24:56 +00:00
andvar cdc507f0d2 fix various typos in comment, documentation and log messages. 2022-05-24 20:50:17 +00:00
rillig 388550b026 lib: remove CONSTCOND comment
Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.
2022-04-19 20:32:14 +00:00
andvar b58602814f fix typos in word "successful". 2021-09-16 22:19:10 +00:00
ad d2a0ebb67a 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.
2020-02-23 15:46:38 +00:00
riastradh f638f19cd2 Fix kassert in lfs by initializing vp first. 2020-02-20 15:48:52 +00:00
christos 38a0431bfa Restore binary compatibility by using the statvfs90 structure internally. 2019-09-23 12:00:57 +00:00
riastradh 6fa7b15833 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
2017-04-26 03:02:47 +00:00
riastradh 87fb32292e 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!
2017-04-11 14:24:59 +00:00
pooka d35b86acad Don't include <rump/rumpvnode_if.h> from rump.h. It's not needed
unless you're doing something special, but requires register_t.
Adjust the few places which actually need rumpvnode_if.h.
2016-01-25 11:45:57 +00:00
christos ffeb8dbf4e Define _KERNTYPES for things that need it. 2016-01-23 21:22:45 +00:00
christos 421f456123 Don't include <sys/vnode.h> to get the pager constants. 2016-01-23 16:39:31 +00:00
riastradh 46e71c7d57 Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
2015-04-20 22:59:19 +00:00
riastradh c89a5913e6 Release dir after create/mknod/mkdir/symlink as 6.99.29 required. 2015-04-20 21:48:47 +00:00
pooka 43925050d7 rump_pub_getversion -> rump_getversion 2014-03-10 22:47:27 +00:00
hannken 97834f7ba0 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
2014-02-07 15:29:20 +00:00
hannken 04c776e5c8 Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.

Discussed on tech-kern@

Welcome to 6.99.30
2014-01-23 10:13:55 +00:00
hannken 1139274440 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
2014-01-17 10:55:01 +00:00
joerg 975a152cfc If a library needs a symbol from another library, pull that library in
explicitly, even if the DT_NEEDED closure would normally already ensure
the presence.
2013-09-11 23:04:09 +00:00
joerg d3095eb543 Explicitly cast enum type. 2012-11-23 14:27:14 +00:00
pooka e6d33ac952 s/EJUSTRETURN/RUMP_EJUSTRETURN/ 2012-11-18 19:04:22 +00:00
pooka 005755d8e9 Finally remove the "temporary" __VTYPE_DEFINED stuff I added >5 years ago. 2012-11-18 18:39:23 +00:00
manu d256e38414 Fix regression that has been introduced when the lookup/reclaim race
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-16 09:25:43 +00:00
manu 519089c8d9 libpuffs and libp2k both use the cookie to different structure, which now
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
2012-08-12 02:51:18 +00:00
manu be95d60797 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.
2011-07-04 08:07:29 +00:00
pooka dc8b381a32 update copyright 2011-03-21 16:41:27 +00:00
pooka 357983cc1c Make P2K_WIZARDUID require a valid integer instead of defaulting to root. 2011-01-07 16:02:32 +00:00
pooka 0d0a5842f8 Document how to get debug info for the mount. 2011-01-07 15:50:40 +00:00
pooka 27daa694a2 In case of a P2K_DEBUG mount, dump mount point contents when the
process receives SIGINFO.  Additionally, dump vnode status if the
process gets SIGUSR1 (can be quite quite verbose, therefore not
displayed with SIGINFO).
2011-01-07 15:47:14 +00:00
pooka d32ef440df in case unmount fails (it never should), do a full mountpoint dump 2011-01-07 15:30:09 +00:00
pooka cc30c34a93 Remove the componentname-saving code since it was addressing
SAVENAME/HASBUF/SAVESTART and they don't exist anymore (and the
removed code didn't compile on nb5).
2011-01-07 11:15:30 +00:00
pooka 4063bc515b Fix file handles. Problem reported & fix tested by kefren. 2011-01-07 10:18:06 +00:00
pooka 3daddc031c rump_lwproc_newproc -> rump_lwproc_rfork 2011-01-02 13:01:45 +00:00
dholland b845056678 Add an INRELOOKUP namei flag. Sigh. (We don't need more namei flags.)
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.
2011-01-02 05:04:58 +00:00
pooka 9670fcaf80 Remove dead code from previous revision. 2010-11-30 15:42:11 +00:00
dholland 297e393f26 SAVENAME and HASBUF namei flags have been removed; update accordingly.
(pooka@ says not to worry about compat.)
2010-11-30 10:49:22 +00:00
pooka 404fa78c67 update comment 2010-11-26 11:12:06 +00:00
pooka d33a80444e Simplify now that ukfs deals with being called from a thread which
already has a rump lwp context.
2010-09-07 17:22:53 +00:00
pooka 607d9b612a Migrate from rump private interfaces to syscalls. 2010-09-07 17:16:18 +00:00
pooka cd52561abe update to new rump proc/lwp interfaces 2010-09-01 19:40:34 +00:00
hannken 1423e65b26 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.
2010-06-24 12:58:48 +00:00
pooka 388dad1711 no need to typecast in pathconf anymore 2010-06-07 11:23:07 +00:00
pooka 1cfb9937ae Pass VOP_PATHCONF to backend file server. inspired by njoly. 2010-06-06 22:46:17 +00:00
pooka 0eb828b571 bump major of libs NEEDING libpuffs 2010-05-21 10:53:41 +00:00
pooka 55a238165a support extended attributes 2010-05-21 10:52:17 +00:00
jruoho 3fe9db0422 Use standard section headers.
Xref vfs(9), which could be slightly more elaborate.
2010-05-20 05:43:54 +00:00
pooka 9a9b93d40a Initialize "hasdebug" default deterministically. 2010-05-20 00:13:02 +00:00
pooka d16346a23e If P2K_DEBUG is given, also dump rump kernel event counters when
file system is unmounted.
2010-05-01 14:44:48 +00:00
pooka 30df4c9f8c If vfstype is MOUNT_RUMPFS, assume we don't actually want to mount
a file system, but attach to the root in the fs namespace of a rump
kernel.
2010-04-29 22:34:21 +00:00
pooka 2734e549f0 Some _t purification. no functional change. 2010-04-14 14:15:48 +00:00