Commit Graph

32 Commits

Author SHA1 Message Date
sommerfe
36dc99adac vinvalbuf, called from vclean, could cause a locking-against-self
deadlock in VOP_FSYNC() if the unreferenced vnode picked for
reclamation happened to be stacked on top of a vnode the process
already had locked.  This could happen if the same filesystem was
accessed both through a union mount and directly; it seemed to happen
most frequently when the direct access was through NFS.

Avoid this deadlock by changing vinvalbuf to pass a new FSYNC_RECLAIM
flag bit to VOP_FSYNC() to indicate that a reclaim is in progress and
only a `shallow' fsync is necessary.

Do nothing in *_fsync() in umapfs, nullfs, and unionfs when
FSYNC_RECLAIM is set; the underlying vnodes will shortly be released
in *_reclaim and may be reclaimed (and fsync'ed) later.
1999-03-22 17:24:19 +00:00
perseant
247156f4d2 Apply patch from kern/5538:
Fix group mapping so members of group 0 get other group-ids mapped as well.
Avoid rename panic by checking (*this_vp_p) against NULLVP before
dereferencing it (same change as to NULLFS some time ago).
1999-03-19 21:46:25 +00:00
bouyer
0a2d2af9e0 Restrict umap mounts to root. Letting any user use this has security
implications.
1999-03-12 18:16:44 +00:00
wrstuden
862a56e88b Modify vfsops to seperate vfs_fhtovp() into two routines. vfs_fhtovp() now
only handles the file handle to vnode conversion, and a new call,
vfs_checkexp(), performs the export verification.
1999-02-26 23:44:43 +00:00
perry
4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
fvdl
e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
thorpej
b5bf2ed6d0 Place a pointer to an array of our vnodeopv_desc *'s in our vfsops
structure, for use by vfs_attach().
1998-02-18 07:05:47 +00:00
chs
f64abc7b4c add flags arg to hashinit(), to pass to malloc(). 1998-02-07 02:44:44 +00:00
thorpej
c9efd0562e Make the vfs ops and vnodeop_opv symbols match the name of the
file-system option used to configure the file system into the kernel.
1997-10-06 09:32:31 +00:00
christos
4fb8bf7262 PR/4098: Alan Barrett: Fix diagnostic printf formatting. 1997-09-10 13:44:20 +00:00
mikel
bd1ca0f680 this is umapfs, not lofs 1997-03-11 03:55:04 +00:00
mikel
be4f5a32c1 use the proper entry count; from Yasufumi Itoh in PR kern/3175. 1997-02-20 05:04:05 +00:00
cgd
90688fce27 Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
christos
92a808f167 backout previous kprintf changes 1996-10-13 02:21:25 +00:00
christos
60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
cgd
f7f3f4299d print pointers with %p, rather than by printing with %x and casting to
(unsigned int).
1996-05-23 23:34:14 +00:00
thorpej
c685105f07 Don't deref a bad ucred pointer, from Dave Carrel <carrel@cisco.com>,
PR #1699.
1996-03-05 02:35:39 +00:00
christos
631ccba638 miscfs prototype changes 1996-02-09 22:39:56 +00:00
cgd
8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
jtc
95ded74f58 Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
cgd
df052e72a6 clean up some return-type warnings 1995-04-15 01:57:35 +00:00
briggs
6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
mycroft
2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
cgd
800be68af6 return EOPNOTSUPP from fhtovp and vptofh functions; doing otherwise
correctly is not possible.
1995-01-25 14:50:48 +00:00
mycroft
e9017fd132 Clean up the code to frob mnt_stat a (tiny) bit. 1995-01-18 09:34:24 +00:00
mycroft
814ba0fc30 Call foo_statfs() from a common place when mounting. 1994-12-15 20:00:14 +00:00
cgd
a3e9e8091b fix device aliasing and lost vnode problems. 1994-09-20 06:43:00 +00:00
mycroft
cab4d25c24 stat the file system at mount time, for `df -n', et al. 1994-09-15 03:42:37 +00:00
mycroft
537ac5465f Convert hash tables. 1994-08-19 11:25:29 +00:00
cgd
cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
mycroft
cde1d47595 Update to 4.4-Lite fs code, with local changes. 1994-06-08 11:33:09 +00:00