Commit Graph

280 Commits

Author SHA1 Message Date
mycroft
217c4e14ea Fix several deficiencies, as compared to ptrace(2):
* Did not check for P_SUGID on ATTACH.
* Did not check for tracing of init on ATTACH.
* Did not turn off single-step mode on RUN or DETACH.
* Might have screwed up reparenting in some cases.
* Allowed anyone to detach the process.
1997-04-28 02:28:39 +00:00
fvdl
aadf9a1d0f fdesc_seek -> genfs_seek, not genfs_badop 1997-04-16 22:43:41 +00:00
kleink
9c16cd8a46 Implement a POSIX compliant genfs VOP_SEEK() and use it in the appropriate
places; by Chris G. Demetriou and myself.
1997-04-11 21:52:00 +00:00
cgd
89a4d9a733 don't try to use __builtin_return_address() on the Alpha. (It's never
worked as far as I can tell, and apparently crashes the kernel when
invoked here.)  From Ross Harvey, PR#3471.
1997-04-10 05:35:08 +00:00
kleink
8c04785710 Remove superfluous (uio_resid == 0) check. 1997-04-02 17:14:32 +00:00
kleink
c1779f82c3 added advisory record locking support 1997-04-02 17:09:47 +00:00
mikel
bd1ca0f680 this is umapfs, not lofs 1997-03-11 03:55:04 +00:00
mikel
812eb1fae4 this is nullfs, not lofs 1997-03-11 03:54:29 +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
pk
3127b0c5e2 Fix short malloc & memory leak in union_relookup() (per Naofumi Honda; PR#3000). 1996-12-07 11:02:47 +00:00
cgd
a67c0b16b8 define path name string variables that we should not (and, thankfully, do
not) modify as 'const char *' rather 'char *'.
1996-10-25 21:57:58 +00:00
cgd
eaa37ec87a remove bogus cast of second arg to bcmp(). (nm_name is a const char*,
and was being unnecessarily cast to 'char *'; -Wcast-qual.)
1996-10-25 21:52:02 +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
mycroft
605403ce1e portal_fsync -> genfs_nullop 1996-09-25 03:01:41 +00:00
mycroft
2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
thorpej
2c02b8ec56 Remove some unused variables. 1996-09-05 09:26:14 +00:00
mycroft
c52352c819 Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.
1996-09-01 23:47:48 +00:00
mrg
2a0f025a41 use VATTR_NULL macro. 1996-06-14 09:27:23 +00:00
mycroft
95f26583aa Add a missing PHOLD()/PRELE() pair. 1996-06-11 01:49:38 +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
mycroft
ea64155398 Mirror changes in uipc_usrreq.c. 1996-05-23 18:45:14 +00:00
gwr
316f45753f Allow the DIAGNOSTIC to compile with old versions of gcc. 1996-05-17 20:53:11 +00:00
mrg
d0f2ced7d2 use %p not %x for pointers 1996-05-13 07:13:23 +00:00
jtk
6ddae4d140 Implement proper `..' locking in lookup code to avoid many potential
deadlocks.

copy up properly when adding a link to lower-layer only file.
(I believe there are still more deadlocks remaining.)
1996-05-10 22:57:49 +00:00
jtk
c9c8daaf7c Add locking code to avoid deadlocks on vnode reclaim, which means the
addition of null_lookup, null_lock, null_unlock, null_islocked.
1996-05-10 22:50:45 +00:00
christos
4ef330b934 remove include of <sys/cpu.h> 1996-04-22 01:38:12 +00:00
cgd
7e4d04910d fix screw-up in the prototyping changes: print pointers with %p, NOT
by casting them to (unsigned int) then printing with %x.
1996-04-13 01:34:06 +00:00
mrg
2a0a8867ae fix long-time bug in fdesc -- /dev/tty was a named pipe rather than a
mirror image of the real /dev/tty, a char dev.  make it a char dev.
1996-04-11 11:24:29 +00:00
christos
da749d6e09 Fix printf format follies. 1996-03-16 23:52:42 +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
mycroft
183aec8fa8 GC *_nullop(). Minor nits. 1996-02-13 13:12:48 +00:00
mycroft
5953a056eb GC dead_nullop(). 1996-02-13 13:02:40 +00:00
christos
19dc07be15 close PR/2063: procfs_rw prototyped twice with different prototypes 1996-02-12 15:01:41 +00:00
christos
631ccba638 miscfs prototype changes 1996-02-09 22:39:56 +00:00
mycroft
fce3e0874f Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
1996-02-09 18:47:48 +00:00
mycroft
53fccab940 Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
1996-02-09 14:45:36 +00:00
jtc
299e1fe9df Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:31:05 +00:00
mycroft
5f8d113e8a Don't include free blocks from the lower layer in statistics. 1996-01-30 16:45:10 +00:00
mycroft
2d1739cbe1 Implement VOP_BWRITE() using vn_bwrite(), per r_friedl@informatik.uni-kl.de. 1995-10-15 05:18:12 +00:00
mycroft
3dc2e10405 Fix the inode calculation in kernfs_getattr(). 1995-10-09 14:25:02 +00:00
mycroft
1e583dfb19 /dev/std* are of type DT_LNK. 1995-10-09 14:20:04 +00:00
mycroft
d60bb4a465 Use the index number as the cookie, rather than multiplying by UIO_MX. 1995-10-09 14:03:32 +00:00
mycroft
bcaf2bca34 Add support for cookies, mostly from Greg Hudson. 1995-10-09 11:18:51 +00:00
mycroft
245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
mycroft
d3f03a8c0c Avoid reentering union_dircache() by locking the union vnode. From John Kohl. 1995-10-05 06:26:12 +00:00
mycroft
36a94a031a Lock the process in core before operating on it. 1995-08-13 09:05:51 +00:00
mycroft
5482957905 splnet --> splsoftnet 1995-08-12 23:59:09 +00:00
cgd
e9d17d38b5 avoid unnecessary aging of buffers. This used to make sense, when buffer
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow.  Suggested by Bob Baron.
1995-07-24 21:19:27 +00:00
cgd
3a99ca568b this README has been unnecessary for a while. 1995-07-24 07:59:06 +00:00
mycroft
c57d78c71a Indirect off the right vnode when looking up the struct union_mount in
union_access().  Also, a trivial change to union_rmdir().
1995-07-13 13:19:18 +00:00
cgd
fd0f559215 add missing splx(), as suggested by enami@sys.ptg.sony.co.jp. 1995-07-08 00:42:45 +00:00
mycroft
839598dfec Make spec_read() and spec_write() vaguely consistent. 1995-07-02 07:20:50 +00:00
gwr
09e284bcca Fix null VP references (pr 1124) - from John Kohl 1995-06-27 00:15:13 +00:00
gwr
5be81bd012 Fix null VP references (pr 1124) 1995-06-27 00:12:21 +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
mycroft
e729deedb2 Fix a condition where union_updatevp() would reinsert the node onto the
wrong hash chain, by not swapping the hash values.  Noted by John Kohl, but
fixed differently.
1995-06-02 02:39:20 +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
mycroft
e9f4bff2cc Add prototype. 1995-05-30 18:55:28 +00:00
mycroft
2bf9d56861 Always call union_diruncache() when removing the upper object. 1995-05-30 18:52:39 +00:00
mycroft
80d1ab77b5 Release the directory cache when a directory is removed or whited out. 1995-05-30 18:11:46 +00:00
mycroft
0ca2e1bd7d Fix typo. 1995-05-30 10:28:15 +00:00
mycroft
7c7b203953 Make sure un_dircache is set after union_dircache(), to avoid stranding
references and the dircache buffer.
1995-05-30 09:37:02 +00:00
mycroft
6760c93567 When a file is removed from the upper layer, make sure to release the
reference to it.  From John Kohl.
1995-05-30 09:07:10 +00:00
mycroft
eb310b67a7 Fix order of lock assertions in union_lock() and union_removed_upper().
Sprinkle a few vprint()s.  From John Kohl.
1995-05-30 08:51:24 +00:00
cgd
df052e72a6 clean up some return-type warnings 1995-04-15 01:57:35 +00:00
cgd
13f5026553 fix timeval vs. timespec warnings 1995-04-15 01:56:43 +00:00
mycroft
b88eec60bb Allow opening a FIFO with O_RDWR. 1995-04-14 23:30:14 +00:00
mycroft
99005388fd Return EOF for old vnodes of tty devices, rather than EIO. 1995-04-10 00:48:46 +00:00
mycroft
7f3a305b34 Use the new d_type field. Set VISTTY for vnodes of tty devices. 1995-04-10 00:48:10 +00:00
mycroft
47ba263ebe Emulate SCO behaviour when both FREAD and FWRITE are set, but only for SCO
executables.
1995-04-02 19:27:48 +00:00
briggs
6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
mycroft
aae5ebefc2 Add missing arguments to VOP_CLOSE() in some cases. From Frank van der
Linden.
1995-03-11 06:14:28 +00:00
mycroft
2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
cgd
aac6b08302 use u_long for copyin* 1995-03-08 01:33:20 +00:00
mycroft
597bdad3df Return EROFS rather than ENOENT in many cases. Also some cosmetic cleanup. 1995-02-03 16:18:46 +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
chopps
ce22a1a443 initialize variable as pointed out by David Jones <dej@qpoint.torfree.net>
this should fix pr #699
1995-01-05 07:10:54 +00:00
mycroft
635cd1625e Consistency with other file system code... 1994-12-29 22:48:16 +00:00
mycroft
d2e8ed4eec Undo a few of the VCALL() changes for now. 1994-12-29 22:42:10 +00:00
mycroft
609063ce2b Format police. 1994-12-27 19:05:12 +00:00
ws
2f0fb8ee09 Implement and use a common access checking routine 1994-12-24 16:44:12 +00:00
glass
b52bb59b86 fix compilation error 1994-12-18 07:20:34 +00:00
mycroft
dbe5168d35 Remove a_fp. 1994-12-16 03:18:03 +00:00
mycroft
814ba0fc30 Call foo_statfs() from a common place when mounting. 1994-12-15 20:00:14 +00:00
mycroft
9996e27813 Fix minor bug in union_setattr(). 1994-12-15 19:15:06 +00:00
mycroft
467e30fb72 Still more VOP_*() -> VCALL() twiddling. 1994-12-15 19:06:50 +00:00
mycroft
0281dba8fa Some more VOP_*() -> VCALL() munging. 1994-12-15 18:58:11 +00:00
mycroft
7276c4ed44 Remove a_fp. 1994-12-14 18:45:21 +00:00
mycroft
ef575bdbc1 Revert dup handling. 1994-12-14 18:40:27 +00:00
mycroft
33c3d64e0c Clean up deleted files. 1994-12-14 16:31:22 +00:00
mycroft
82ab4c687f Sync with CSRG. 1994-12-14 16:30:40 +00:00
mycroft
a18ec3cb1b LEASE_CHECK -> VOP_LEASE 1994-12-13 21:52:35 +00:00
mycroft
bc7ed2596e Fix editing errors. 1994-12-13 20:27:37 +00:00
mycroft
527b796ff5 Turn lease_check() into a vnode op, per CSRG. 1994-12-13 20:14:30 +00:00
mycroft
f821e3012a Use VCALL() in lots of places. 1994-12-13 16:59:50 +00:00
mycroft
2981ef6595 Sync with CSRG. 1994-12-13 09:58:11 +00:00
mycroft
b05e959a14 Use fddupopen(), just like fdopen() does. 1994-12-04 03:13:06 +00:00