Commit Graph

687 Commits

Author SHA1 Message Date
christos 063e3b9f0f protect against large uio_offsets 1999-08-14 02:17:17 +00:00
wrstuden 3bf14d81e9 Add support for fcntl(2) to generate VOP_FCNTL calls. Any fcntl
call with F_FSCTL set and F_SETFL calls generate calls to a new
fileop fo_fcntl. Add genfs_fcntl() and soo_fcntl() which return 0
for F_SETFL and EOPNOTSUPP otherwise. Have all leaf filesystems
use genfs_fcntl().

Reviewed by: thorpej
Tested by: wrstuden
1999-08-03 20:19:16 +00:00
sommerfeld d96e35f23c Fix PR4439: directory link count in unions where only upper directory
exists is bogus.  The goal here is to produce a synthetic link count
which won't confuse fts and similar routines which "know" that
directories with a link count of 2 don't have subdirectories (and
thus, they can avoid having to stat every entry in the directory
looking for subdirectories which aren't there).

We know that non-UNIX filesystem implementations may return a link
count of `1' for directories with an indeterminate number of
subdirectories; if either the upper or lower layer returns a link
count of `1', return a link count of 1.  If both layers return a link
count of 2, return a link count of 2; otherwise, return the sum of the
link count of both layers.

Also, fix PR7430: unionfs ignores read-only mounts.  Check for
MNT_RDONLY in union_lookup (more-or-less as in layer_lookup) as well
as union_access() and union_setattr().

Note that a read-only union layer may still cause side effects on the
underlying filesystems...  Most notably, we'll still attempt to create
shadow directories in the upper layer.  Also, of course, we'll
side-effect atimes in the lower layer.
1999-08-01 23:16:34 +00:00
sommerfeld cb448a064d Fix PR5146: reboot with working directory in unionfs causes
"panic: lockmgr: using decommisioned lock"
(only if DIAGNOSTIC)

The problem turned out to be due to the way LK_DRAIN was (not) handled
in union_lock; it just got passed through to the lock on the upper
vnode (which got marked as decommissioned, instead of that happening
to the union vnode.  When the upper vnode was next locked (typically
when it was released), it went kaboom.
1999-08-01 00:00:57 +00:00
sommerfeld 29469abdbd On forced unmount, do a few passes of non-forced cleanups and then do
a single forced pass.  Along for the ride with PR5146 fix.
1999-07-31 23:56:15 +00:00
thorpej fc04cf9982 Add calls to lock the proclist as appropriate. 1999-07-25 18:33:47 +00:00
thorpej 2715b812d1 Rework the process exit path, in preparation for making process exit
and PID allocation MP-safe.  A new process state is added: SDEAD.  This
state indicates that a process is dead, but not yet a zombie (has not
yet been processed by the process reaper).

SDEAD processes exist on both the zombproc list (via p_list) and deadproc
(via p_hash; the proc has been removed from the pidhash earlier in the exit
path).  When the reaper deals with a process, it changes the state to
SZOMB, so that wait4 can process it.

Add a P_ZOMBIE() macro, which treats a proc in SZOMB or SDEAD as a zombie,
and update various parts of the kernel to reflect the new state.
1999-07-22 18:13:36 +00:00
thorpej 7f53187a85 From Bill Studenmund: unlock the fdescfs "/dev/tty" vnode before calling
cttyread()/cttywrite(), and lock it again when it returns.

Squashes the somewhat bizarre lossage I was observing w/ more(1), sudo(1),
etc.
1999-07-19 23:00:47 +00:00
wrstuden a0f2937049 Define VLAYER and make layered fs's set this flag when creating their vnodes.
getnewvnode now checks this bit, and it if's set makes sure a vnode's not
locked before removing it from the free list.

Closes PR 7954 by Alan Barrett <apb@iafrica.com>.
1999-07-15 21:30:31 +00:00
thorpej f9b0db3013 Fix a paste-o in procfs_lookup() introduced with the vnode locking changes.
Fixes PR #7961, Mario Kemper <magick@bundy.lip.owl.de>.
1999-07-14 23:52:22 +00:00
wrstuden b7f5310486 Fix tyop pointed out by Chuck Silvers <chuq@chuq.com>. 1999-07-12 16:37:03 +00:00
wrstuden 9fc36d6807 Bump osrelease to 1.4E. Add layerfs files, remove null_subr.c.
Update coda to new struct lock in struct vnode.

make fdescfs, kernfs, portalfs, and procfs actually lock their vnodes.
It's not that hard.

Make unionfs set v_vnlock = NULL so any overlayed fs will call its
VOP_LOCK.
1999-07-08 01:26:21 +00:00
wrstuden 9866514df5 Introduce layer library in genfs. This set of files abstracts most of
the functionality of nullfs. The latter is now just a mount & unmount
routine, and a few tables. umapfs borrow most of this infrastructure.

Both fs's are now nfs-exportable.

All layered fs's share a common format to private mount & private
vnode structs (which a particular fs can extend).

Also add genfs_noerr_rele(), a vnode op which will vrele/vput
operand vnodes appropriately.
1999-07-08 01:18:59 +00:00
perseant c951c272b0 Fixes PR #1206, by setting va_mode and va_flags in the copied-up vnode's
attributes.
1999-06-25 19:05:49 +00:00
wrstuden 96321000fc Remove explicit references to null_bypass (used in umap_lock() and
umap_unlock()) so as to not explicitly depend on nullfs being compiled
into the kernel.

umap_bypass won't be too slow as there are no credentials in these two ops
to need mapping.
1999-05-17 20:29:05 +00:00
thorpej e3669c3393 Add "use counting" to file entries. When closing a file, and it's reference
count is 0, wait for use count to drain before finishing the close.

This is necessary in order for multiple processes to safely share file
descriptor tables.
1999-05-05 20:01:01 +00:00
thorpej e9d133eb3b Adjust for cwdinfo changes. Pointed out by Bernd Ernesti. 1999-05-02 00:18:31 +00:00
thorpej ce5ede558e Fix excessive memory usage, and fix handling of SZOMB processes. PR #7164,
Jaromir Dolecek.
1999-04-27 06:02:09 +00:00
drochner 10bc77390d remove unneeded <vm/vm_object.h> 1999-04-10 14:00:38 +00:00
wrstuden 636995172d Make message about not loking a vnode in nullfs_create a little quieter -
now only enabled if NULLFS_DIAGNOSTIC and no longer if DEBUG or DIAGNOSTIC.
1999-04-09 17:27:38 +00:00
bouyer e045fbf363 We must handle MNT_NODEV at open time, so add an open op for null and union,
and do proper checks in union_open(). Fix to nullfs from OpenBSD, extended
to umap and union by me.
1999-03-25 13:05:41 +00:00
sommerfe ef07055d58 Disallow tracing of processes unless tracer's root directory is at or
above tracee's root directory.
1999-03-25 04:45:56 +00:00
sommerfe b6c36d0fe4 fix union node lock to sleep on something it'll be woken on.. 1999-03-24 05:53:59 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
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
thorpej 195403fe38 malloc the arg temporary buffer, rather than declaring it as an automatic
array of ARG_MAX size.  ARG_MAX is currently 256k, which causes a rather
serious stack overflow (kernel stacks are not very large, usually 8k).

Fixes memory corruption problems observed after accessig /proc/1/cmdline
during tests.  Problem in my case manifested itself as massive lossage
in ffs_sync(), resulting in a crash, and sometimes, pooched file systems.

XXX This could, and probably should, be rewritten to use a much smaller
temporary buffer, and a loop around uiomove().
1999-03-13 22:26:48 +00:00
thorpej 4865d6ff88 Some changes to `cmdline' to make it work properly:
- Don't error out on P_SYSTEM or SZOMB processes; instead, do what ps(1)
  would do, i.e. the p_comm in parenthesis.
- Use uvm_io() (or procfs_rwmem() if !UVM) to read the target process's
  psstrings and argument vector.  Using copyin() is problematic, because
  it operates on the current processes!  That is, the old code would
  always get the `cmdline' of the process reading the file, not that of
  the target process.
1999-03-13 01:01:30 +00:00
thorpej 5e7b128211 Expose procfs_rwmem(). (This function will go away entirely when we
delete Mach VM.)
1999-03-13 00:57:13 +00:00
christos 8aa2fc5ab8 PR/7143: Jaromir Docelek: Add procfs/cmdline from Linux emulation 1999-03-12 18:45:40 +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
mycroft b174019ccc Pass null pointers to VOP_UPDATE rather than having all the callers fetch the
current time themselves.
1999-03-05 21:09:48 +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
wrstuden 0078fc50dc Modify VOP_CLOSE vnode op to always take a locked vnode. Change vn_close
to pass down a locked node. Modify union_copyup() to call VOP_CLOSE
locked nodes.

Also fix a bug in union_copyup() where a lock on the lower vnode would
only be released if VOP_OPEN didn't fail.
1999-02-26 23:38:55 +00:00
is fde637530e Machine independent part of fix for PR 6152 (gdb doesn't work on machines
with UVM and seperate I&D-Cache). Mostly by Michael Hitch, but pass struct
proc * instead of the pmap. Reason: said machine will need a method to do
the syncing operation for "curproc", too; this way more code can be shared.
1999-02-25 21:54:53 +00:00
msaitoh 1f5b9b4d63 sprintf->snprintf 1999-02-03 05:05:03 +00:00
drochner 7847c0f52e make it compile with !UVM 1999-01-28 21:18:00 +00:00
msaitoh ea669760d6 Add /proc/#/map. From FreeBSD. 1999-01-25 02:20:08 +00:00
wrstuden c7fc6c74ca Oops. That extra "*" doesn't need to be there. 1999-01-15 22:04:44 +00:00
wrstuden 872d72e705 In nullfs_mount, we need to check if error before VOP_UNLOCK(vp,0) as
vp is initialized iff error==0 in null_node_create.
1999-01-13 01:51:37 +00:00
matt 32a315ff7c Use the so_send and so_receive funcptrs in the socket instead of calling
sosend/soreceive directly.  [I've been meaning to commit these for months.]
1998-10-31 01:18:41 +00:00
ross e1b25b7bd6 Make spec_write() process errors and return them, otherwise we don't even
notice things like hitting the end of a partition or device.  (To be sure,
writes to block special files are rare, but as long as we support them...)
1998-10-02 00:21:39 +00:00
jonathan fcf7a78c02 Workaropund fix for PR #5239 from <minoura@kw.netlaputa.ne.jp>:
stop  null_node_create() from locking the nullfs mountpoint  multiple
  times. Avoids a guaranteed, repeatably "locking against myself" panic
  during mount of a nullfs filesystem.  nullfs filesystems are still as
  buggy as ever (e.g., see PR# 4907) but this you at least mount them.
1998-09-30 06:50:10 +00:00
thorpej 970e60efb8 - Use proclists[], rather than checking allproc and zombproc explicitly.
- Add some comments about locking.
1998-09-08 23:50:13 +00:00
thorpej 7cc905f5c8 Add some braces to make egcs happy (ambiguous else warning). 1998-08-18 06:27:01 +00:00
kleink 5350df2953 Per POSIX, fail with EINVAL if advisory locking is attempted on a file type
that doesn't support it, rather than using a homegrown EBADF or EOPNOTSUPP.
1998-08-13 10:06:31 +00:00
kleink bf1863d17b Add genfs_einval(), which does the obvious thing. 1998-08-13 09:59:52 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
matthias 574106c52b create miscfs/genfs/genfs_vnops.c:genfs_enoioctl and make all the other
filesystems use it instead of a private version.
1998-08-10 08:11:10 +00:00
perry 4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +00:00
kleink 12a866151b Recognize _PC_SYNC_IO. 1998-08-03 14:19:57 +00:00
lukem 786b86d71b use AF_LOCAL instead of AF_UNIX 1998-07-18 05:04:35 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
thorpej 961f0708b1 - Rename nqnfs_vop_lease_check() to genfs_lease_check(). If NFSSERVER is
not in the kernel, genfs_lease_check() is simply a no-op.  This allows
  LKM'd file systems to be exported (previously did not work properly
  due to a compile-time decision based on -DNFSSERVER).
- defopt NFSSERVER
1998-06-25 22:15:28 +00:00
sommerfe 7ba7fbbb23 Always include fifos; "not an option any more". 1998-06-24 20:58:44 +00:00
sommerfe becaafeea0 defopt for options FIFO 1998-06-22 22:00:59 +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
kleink 382743ada3 Convert fsync vnode operator implementations and usage from the old `waitfor'
argument and MNT_WAIT/MNT_NOWAIT to `flags' and FSYNC_WAIT.
1998-06-05 19:53:00 +00:00
kleink a32a338757 * Convert fsync vnode operator implementations and usage from the old
waitfor argument and MNT_WAIT/MNT_NOWAIT to flags and FSYNC_WAIT.
* In genfs_fsync(), honor the FSYNC_NODATA flag.
1998-06-05 19:52:59 +00:00
fvdl 8ccdc78ffc Since the interlock has been unlocked, also clear LK_INTERLOCK from
a_flags in order to not confuse the layer that is called through
the following VCALL.
1998-05-18 16:47:37 +00:00
pk 097731676e dead_lock() must unlock `v_interlock'. 1998-05-18 14:36:46 +00:00
fvdl 811dba68c1 procfs_readdir: in case of error, check if cookies actually have
been allocated before freeing them. From Wolfgang Solfrank.
1998-04-21 16:36:37 +00:00
veego dd9d3a3015 Fix an error introduced in rev 1.39 where jason fixed kern/5271:
s/vp/ap->a_vp/ in line 715.
1998-04-11 08:51:12 +00:00
thorpej 13eebaf27e Fix two problems in union_link():
(1) Fix a typo that caused a NULL pointer deref.
(2) union_copyup() locks the vnode, so unlock it before calling relookup().
PR #5272, MINOURA, Makoto <minoura@kw.netlaputa.ne.jp>.
1998-04-10 01:43:54 +00:00
thorpej 181995d5f7 Fix possible stray pointer deref in union_access, per PR #5271,
submitted by MINOURA, Makoto <minoura@kw.netlaputa.ne.jp>.
1998-04-10 01:39:45 +00:00
marc efbd14c45d mounting a union causes VOP_WHITEOUT to be called on the upper root
vn, with a 0 component.  If the upper fs was a unionfs,
union_whiteout() would deref compnent to get a struct proc, and panic.
struct proc was only being passed to FIXUP, which never used it.  It
turns out this happened a lot.  I ripped most of the unneeded code
out, and left in the few places that really did need the proc handle.
1998-03-17 08:36:57 +00:00
fvdl f75b1046d4 Fix flags mess-up in vget. LK_EXCLUSIVE -> 0 (even indicated in the
comment, d'oh!)
1998-03-11 15:52:02 +00:00
mrg c6dd5cbefd standardise options header includes. 1998-03-08 14:04:14 +00:00
fvdl 7ba6a2daac Remove extraneous files from Lite2 merge. 1998-03-01 13:45:28 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
fvdl e8d05f0741 Import 4.4BSD-Lite2 1998-03-01 02:12:49 +00:00
thorpej 62cb255d14 Place a pointer to an array of our vnodeopv_desc *'s in our vfsops
structure, for use by vfs_attach().
1998-02-18 07:26:57 +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
thorpej d2924ae854 Prevent the session ID from disappearing if the session leader exits
(thus causing s_leader to become NULL) by storing the session ID separately
in the session structure.  Export the session ID to userspace in the
eproc structure.

Submitted by Tom Proett <proett@nas.nasa.gov>.
1998-02-14 00:37:26 +00:00
thorpej 44ed0e5b79 Don't include option headers if building an LKM. 1998-02-12 20:38:45 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
chs f64abc7b4c add flags arg to hashinit(), to pass to malloc(). 1998-02-07 02:44:44 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
perry 1a80fd799d RCSID Police. 1998-01-05 19:19:41 +00:00
fvdl 766487d941 Too many vnode ops were marked as bad op, but could happen in practice.
Change them to genfs_eopnotsupp.
1997-11-27 20:36:05 +00:00
mycroft d24c4d31e1 Make the curproc link executable. 1997-10-30 09:14:07 +00:00
christos 4071635fa6 Add missing cast to dev_t 1997-10-16 23:57:51 +00:00
fvdl ce56587f15 Bump last argument to VOP_READDIR to off_t (from u_long). 1997-10-10 02:01:05 +00:00
fvdl ebffddb531 Bump last argument to VOP_READDIR to off_t (from u_long). 1997-10-10 02:01:02 +00:00
fvdl ab940dcf06 Bump last argument to VOP_READDIR to off_t (from u_long). 1997-10-10 02:00:56 +00:00
mycroft 4383ea0b92 Make openstr[] const. 1997-10-09 13:12:01 +00:00
mycroft 64d080efe0 Make various standard wmesg strings const. 1997-10-09 12:59:50 +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
leo e0f973ee3b Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 19:14:20 +00:00
enami b4ae3706db Use the same indentation as other two place, sys_ptrace() and
procfs_control().

Ok'ed by Jason R. Thorpe.
1997-09-13 04:25:35 +00:00
christos 4fb8bf7262 PR/4098: Alan Barrett: Fix diagnostic printf formatting. 1997-09-10 13:44:20 +00:00
thorpej a79a3ca472 Fix a reversed argument which caused procfs_checkioperm() to always return
"OK".  Add a few comments to avoid further confusion.
1997-08-27 08:52:51 +00:00
explorer 945beb8d63 Move procfs_checkioperm() from procvs_subr.c to procfs_mem.c, since _subr is
not included in a kernel without procfs, and it seems wrong to pull
all of procfs_subr.c in for just that one function.  Perhaps this
should go into a new file instead?
1997-08-13 04:01:22 +00:00
thorpej f9777e4a1c Fix the procfs hole described on current-users, similar to a fix for
FreeBSD by Sean Eric Fagan, but a bit different.  This makes the checks
in the same places as sef's FreeBSD patch, but does not hardcode the
"kmem" group into the kernel, and also does a check identical to the
(3) and (4) checks in the NetBSD ptrace(2):

	(1) it's not owned by you, or is set-id on exec (unless
	    you're root), or

	(2) it's init, which controls the security level of the
	    entire system, and the system was not compiled with
	    permanently insecure mode turned on.
1997-08-12 22:47:18 +00:00
drochner aa015962db Since there is a "%qx" printf format, don't truncate to long for
debug output.
1997-07-04 19:22:48 +00:00
mycroft 2ee8bc2b79 Don't allow writes to init's memory or registers while in secure mode. 1997-06-25 11:32:15 +00:00
thorpej a149ed59e4 Eliminate use of dtom() in the handing of UNIX domain sockets. Add an
"unp_addrlen" member to the unpcb, and use it when copying the socket
name.  This eliminates that last uses of dtom() in the system.
1997-06-24 19:12:53 +00:00
kleink a1c6b08386 When reading from an empty FIFO no process has opened for writing, and
O_NONBLOCK is set, return 0.
1997-05-18 12:19:29 +00:00
pk 80bb266e0e NULL => 0 (Arne Juul; PR#3629) 1997-05-17 20:31:15 +00:00
pk 420dea1e9a Move `struct kern_target' definition into kernfs.h 1997-05-10 22:04:13 +00:00
mycroft 3be66b88fe Update for lookup() changes. 1997-05-09 04:05:01 +00:00
mycroft e3f99a9397 Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft 4d213ec5e7 Need stat.h. 1997-05-05 07:34:09 +00:00
mycroft 0f09f99ae1 Need stat.h. 1997-05-05 07:19:05 +00:00
mycroft 1e3c14a909 Eliminate bogus uses of V{READ,WRITE,EXEC}. Use S_I[RWX]{USR,GRP,OTH} where
appropriate.
1997-05-05 07:13:57 +00:00
mycroft 701f15db33 Reinstate P_FSTRACE, with different semantics:
* Never send a SIGCHLD to the parent if P_FSTRACE is set.
* Do not permit mixing ptrace(2) and procfs; only permit using the one that
  was attached.
1997-04-28 04:49:27 +00:00
mycroft 8a33a13c65 Minor code cleanup. 1997-04-28 03:49:57 +00:00
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
mycroft 261751e81d Reimplement union_seek(). 1994-12-01 16:40:34 +00:00
mycroft 1056700333 Make sure averunnable.fscale is filled before using it. 1994-12-01 10:16:53 +00:00
christos a1dbf4aaa5 fixed struct comment 1994-11-14 06:08:21 +00:00
christos 923c9743a2 fixed struct comment; passed extra argument (struct file *) to open 1994-11-14 06:07:45 +00:00
christos 8cdc99a059 fixed struct comment 1994-11-14 06:04:31 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd be8c7b9d80 light clean; make sure headers are properly included, types are OK, etc. 1994-10-29 07:58:24 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
cgd a3e9e8091b fix device aliasing and lost vnode problems. 1994-09-20 06:43:00 +00:00
mycroft 76e0a7d0f4 Fix typo. 1994-09-15 03:47:19 +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 2f710a54ee Convert process, file, and namei lists and hash tables to use queue.h. 1994-08-30 03:04:28 +00:00
mycroft f5faab89e9 Use VCALL(), not VOCALL(), and simplify union_advlock(). 1994-08-30 03:01:01 +00:00
mycroft 537ac5465f Convert hash tables. 1994-08-19 11:25:29 +00:00
mycroft 41761064b8 Implement /kern/msgbuf. 1994-07-21 10:22:20 +00:00
mycroft 6436952bbc Fix a null pointer dereference during rename(2). 1994-07-20 07:37:25 +00:00
paulus 988b7f5158 Support for block special files with sector sizes other than DEV_BSIZE -
if the device has a disklabel with a non-zero sector size value, that
value is used instead of DEV_BSIZE.
1994-07-16 11:40:56 +00:00
mycroft cb07d61edf Fix a fencepost error. 1994-07-14 20:58:28 +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 ab119e2183 Another update from JSP. 1994-06-17 15:21:33 +00:00
mycroft 18157b489f Remove an unneeded test. 1994-06-16 06:01:19 +00:00
mycroft 82ac72f664 Merge update from JSP. 1994-06-15 23:07:54 +00:00
mycroft 117527f322 Minor update from JSP after merging my changes. 1994-06-15 22:54:38 +00:00
mycroft 76ee6346df Deal with silly DIAGNOSTIC check. 1994-06-15 17:52:32 +00:00
mycroft 76fe13be8e Fix a bug pointed out by JSP. 1994-06-15 14:40:32 +00:00
mycroft 7162b2c482 Use vget() for devices. 1994-06-15 03:30:44 +00:00
mycroft 2e6e470fba Fix a bug in finding the raw root device. 1994-06-15 03:05:26 +00:00
mycroft e4c7b2cebe Clean up deleted files. 1994-06-13 17:48:29 +00:00
mycroft cde1d47595 Update to 4.4-Lite fs code, with local changes. 1994-06-08 11:33:09 +00:00
cgd ebcaebd335 MIN -> min, MAX -> max 1994-05-24 02:35:53 +00:00
mycroft 3f3d8b3889 Really fix the file size problem. 1994-05-17 06:59:17 +00:00
cgd fa475bdca1 actually set va_size! 1994-05-17 04:10:29 +00:00
cgd d9f8c89a76 setrun rename 1994-05-07 01:15:38 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd 17f30a5d0b kill obvious bug; glad to know this was tested! 1994-05-04 05:41:55 +00:00
cgd 4bbabd8e7a Rename a lot of process flags. 1994-05-04 03:41:12 +00:00
cgd d071d1cf05 some prototype cleanup, eliminate/replace bogus types (e.g. quad and
u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes),
some cleanup.
1994-04-25 03:49:27 +00:00
cgd 4917d8beec make fs types consistent over new kernels. also, some proto foo. 1994-04-23 07:54:38 +00:00
cgd 3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd 914b690745 forgot these... 1994-04-15 20:49:27 +00:00
cgd 93159ea799 fs types are names now. 1994-04-14 04:05:45 +00:00
cgd 656b05ccf6 be a bit smarter about determining if files shouldn't be seen by the user.
Also, DON'T allow a lookup to succeed on a file that's not visible!
1994-04-12 02:55:51 +00:00
briggs bf860bb2b2 PG_COW -> PG_COPYONWRITE to match earlier changes in vm_page.h. 1994-03-17 04:10:32 +00:00
cgd 45afe06953 I now understand why name caching was redone for 4.4BSD; Net/2's
method of caching names has a totally bogus interface.  kill *ALL*
caching of names when going through a lofs, because that's the only
way to make sure things always work right.  Also, XXX the possibly-bogus
check i keep whining about.  it's almost certainly wrong, but it's
too weird to modify significantly; even jsp didn't want to touch it...
1994-02-25 23:41:56 +00:00
cgd 7f77e98242 getting closer; stilly iffy though. 4.4's VFS would make this easier 1994-02-25 01:05:32 +00:00
mycroft 349d681690 Undo last change; executables is `file', not `a.out'. 1994-02-15 13:32:39 +00:00
ws 1df94d108f Add .. entry to /kern 1994-02-14 19:46:18 +00:00
ws 0cb2a819b2 Rename file -> a.out 1994-02-14 19:08:36 +00:00
ws 4eab6179ba Don't try to show a file for a process if there is none 1994-02-14 19:07:27 +00:00
cgd bb5d305ea8 fix typo and allow creations to work right. this is in a questionably
correct chunk of code; author contacted.
1994-02-14 19:02:54 +00:00
cgd b41fd90fdc don't give bogus return code from read() 1994-02-11 01:01:51 +00:00
cgd d43a0f37b1 don't panic if user does 'cat /kern', though result is dubious. 1994-02-09 06:32:17 +00:00
ws 2df8c5f528 If you add files, be sure to have enough bits to encode an inode number! 1994-02-06 14:01:16 +00:00
cgd 89a86e618e make a fpregs file. 1994-01-28 07:03:16 +00:00
cgd 7df895cf91 oops; fix that last... 1994-01-27 03:42:02 +00:00
cgd 5e12573ac2 hack from Mike Karels to deal with the last close on a controlling
terminal.  from 4.4BSD.
1994-01-27 03:16:40 +00:00
ws 2cee3e073f Make procfs really work for debugging.
Implement not & notepg files in procfs.
1994-01-20 21:22:47 +00:00
mycroft bff20215e7 Make a printf #ifdef PORTAL_DIAGNOSTIC. 1994-01-13 18:29:03 +00:00
cgd 6570678929 fix botch in last 1994-01-12 20:01:39 +00:00
cgd dc254a5c58 update to portal credentials handling, from jsp 1994-01-12 19:50:22 +00:00
ws 5f7ef81c6f Fix ugliness left over from my last mod 1994-01-11 18:02:06 +00:00
ws a24f445d60 Fix sign extension bug 1994-01-10 20:47:39 +00:00
mycroft c4f31d72f8 Add a missing break so my machine doesn't panic. 1994-01-10 04:58:14 +00:00
cgd 64aaba1a4e fix some of my more recent botches, and clean up slightly. 1994-01-09 23:57:56 +00:00
cgd 5c3b96cd71 oops. fix that last 1994-01-09 20:17:06 +00:00
cgd 9f5ed8f1ef minor cleanup; kill a few assignments 1994-01-09 20:10:51 +00:00
ws 6202bab2db Bug fixes and enhancements:
Make NFS serving work (BUT DON'T USE "attach" TO /proc/*/ctl FOR NOW!!!)
Make `curproc' a symbolic link
Add `.' and `..' entries to the directories.
Return better guesses on the size of the files.
1994-01-09 19:44:03 +00:00
ws 903f51e908 Note that NFS mounting of fdesc doesn't make sense 1994-01-09 17:33:06 +00:00
cgd e2efe41199 reorganization of ptrace/procfs code 1994-01-08 10:47:02 +00:00
cgd eda5beab5a return size of 'reg' from getattr() 1994-01-05 21:56:02 +00:00
cgd 454f368245 don't call VFS_SYNC() on underlying fs 1994-01-05 15:11:51 +00:00
cgd 058b0b8772 don't try to reclaim 'known' root vnode 1994-01-05 15:11:32 +00:00
cgd c78cf001a2 add new portal file system from jsp@sequent.com 1994-01-05 14:23:21 +00:00
cgd 3442768ab8 add new lofs (loopback file system) from jsp@sequent.com 1994-01-05 14:15:31 +00:00
cgd b4e04dd05d fix return type for fifo_print 1994-01-05 11:34:44 +00:00
cgd 9d1babb688 fix UFS vs 'real' fs type mixups 1994-01-05 11:07:31 +00:00
mycroft 1e5c7f966b Clean up deleted files. 1994-01-05 11:05:17 +00:00
cgd 87693669dd update with latest kernfs file system from jsp@sequent.com 1994-01-05 11:04:54 +00:00
cgd 4942f8a8bc update with latest fdesc file system from jsp@sequent.com 1994-01-05 09:00:57 +00:00
cgd 3ff83b3549 make it compile (cleanly) for us 1994-01-05 08:00:05 +00:00
mycroft 3bd8a96c64 Clean up deleted files. 1994-01-05 07:51:37 +00:00
cgd 699e3be9e9 add new procfs code, from Jan-Simon Pendry, jsp@sequent.com.
This is pretty-much "virgin", so that diffs can be done later.
1994-01-05 07:51:08 +00:00
cgd 76cce4cfdd fix fdesc_print return type (again) 1993-12-23 17:37:33 +00:00
cgd ae30022085 fix return type of vnode print routine 1993-12-22 13:14:10 +00:00
cgd cc4170c743 fix return type of dead_print 1993-12-22 13:12:09 +00:00
cgd 86f960201b pull load average and misc changes down from magnum 1993-12-20 12:39:10 +00:00
mycroft 21edb9924e Canonicalize all #includes. 1993-12-18 03:59:02 +00:00
mycroft 0560892d34 Canonicalize all #includes. 1993-12-18 03:48:27 +00:00
cgd 2b3cb4657d #ifdef out /kern/root at theo's request 1993-11-20 01:57:07 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
glass 5e6a2e33c0 fix chris typo. 1993-10-30 16:11:07 +00:00
cgd 06c4106aec limit block sizes requested 1993-10-29 19:25:18 +00:00
cgd 4f10c7ead8 kill volatile warning. 1993-09-16 22:08:30 +00:00
ws 053f138dae Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
1993-09-07 15:40:14 +00:00
pk dd119ec84b Implement setattr: mode for process entries; mode + uid/gid for the
PROCFS root directory.
Fixed omission in pfs_root() which came to light as a result of the above:
hold on to vnode for root dir.
1993-08-26 19:01:00 +00:00
mycroft ac815031d0 Um, last change was wrong. Instead, add 3 to the number of inodes (forget
about the root directory, too).
1993-08-25 14:41:19 +00:00
mycroft b3f22bcdcc Subtract to from the free count for `.' and `..', to maintain the fiction that
this is a real file system.
1993-08-25 14:35:20 +00:00
pk 1e37ac6db4 Fixed improperly initialized nfsnode in pfs_lookup() 1993-08-25 09:28:39 +00:00
pk 8dc35fb5d6 Fill inode fields in procfs_statfs(), in stead of block fields 1993-08-24 17:49:16 +00:00
pk 834a44f21f copyright update. 1993-08-24 16:47:23 +00:00
pk 0cbe77737a Rcs Id added. 1993-08-24 16:25:07 +00:00
pk 498189f379 Initial version of a proc filesystem. 1993-08-24 12:59:09 +00:00
mycroft 742dcd5655 RLIMIT_OFILE --> RLIMIT_NOFILE 1993-08-23 16:01:56 +00:00
cgd 4543c1ebfd changes from 0.9-ALPHA2 to 0.9-BETA 1993-08-23 04:59:38 +00:00
mycroft daa27b3c30 Make fdesc_print have a return type of void. 1993-08-02 23:01:49 +00:00
mycroft b4d9151681 Make kernfs_print have a return type of void. 1993-08-02 23:00:57 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
andrew 0e6cb953ea ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.
1993-06-27 06:01:27 +00:00
andrew 7b40766e79 ANSIfications - lots of function prototyping. 1993-06-27 05:58:59 +00:00
cgd c88530d318 give various filesystems their own vnode types 1993-06-07 05:25:16 +00:00
cgd c2bdec030c give miscfs filesystems their own mount structure malloc type. 1993-06-07 04:56:35 +00:00
cgd 6b5412e4fa add some more functionality: a setattr which supports chmod+chown+chgrp,
and the various support elsewhere to deal with it.
1993-05-28 16:47:02 +00:00
cgd 84a68c1180 add kernfs_access function, to kill kernfs security hole 1993-05-28 14:12:17 +00:00
cgd 7cef199976 make the sleeps on socket open interruptable. 1993-05-27 15:38:18 +00:00
cgd cd1bcbc8ca add rcs ids as necessary, and also clean up headers 1993-05-20 16:21:42 +00:00
cgd 868a2c5982 header cleanup 1993-05-20 04:01:30 +00:00
cgd 230dcf0d05 add $Id$ strings, and clean up file headers where necessary 1993-05-20 02:54:09 +00:00
cgd 6e88da586a fix several off-by-one errors in hostname setting/reading 1993-04-27 10:06:10 +00:00
mycroft 484e228599 Use EPERM when write permission is denied, not EBADF. 1993-04-27 07:21:37 +00:00
mycroft bcbf85df19 Add consistent multiple-inclusion protection. 1993-04-19 01:22:17 +00:00
cgd b02974b037 Jay Fenlason <hack@datacube.com>:
1: the fi_readers and fi_writers fields of the fifoinfo structure were not
being initialized to 0.  This caused the driver to not sleep the first
process to open the fifo--it thought there was already another process to
talk to (most of the time.)

2: fifo_open() was calling tsleep() without unlocking the inode of the fifo
file.  This caused *any* subsequent access to the file (even an ls (!)) to
hang forever.  Note that this bug was usually masked by bug #1 above.
1993-04-02 20:19:48 +00:00
cgd d7743f6ac4 added . and .. 1993-03-30 05:16:56 +00:00
cgd 91a1e3ca32 added cdevvp (after taking it out of vfs_subr.c) because realized
that it was only needed here.
1993-03-27 02:00:45 +00:00
cgd b9a4c9fc69 added ".." and support for "rrootdev" 1993-03-27 00:37:08 +00:00
cgd 7c02b7340b fixed problem where you couldn't unmount after looking... 1993-03-25 17:34:52 +00:00
cgd 320661fc58 changed copyright notice thanks to following statement:
Return-Path: jsp@compnews.co.uk
Received: from ben.uknet.ac.uk by postgres.Berkeley.EDU (5.61/1.29)
	id AA25983; Thu, 25 Mar 93 05:37:37 -0800
Received: from fennel.compnews.co.uk by ben.uknet.ac.uk via UKIP with SMTP (PP)
          id <g.05640-0@ben.uknet.ac.uk>; Thu, 25 Mar 1993 13:37:19 +0000
Received: from sage.compnews.co.uk by fennel.compnews.co.uk;
          Thu, 25 Mar 93 13:37:08 GMT
Message-Id: <28109.9303251337@sage.compnews.co.uk>
From: jsp@compnews.co.uk (Jan-Simon Pendry)
Date: Thu, 25 Mar 1993 13:37:05 +0100
In-Reply-To: cgd@postgres.berkeley.edu's message as of Mar 25, 5:32am.
Phone-Number-1: +44 430 432450
Phone-Number-2: +44 430 432480 x20
Fax-Number: +44 430 432022
X-Mailer: Mail User's Shell (7.2.5 10/14/92)
To: cgd@postgres.berkeley.edu
Subject: Re: fdesc/kernfs/etc code...

You may put this copyright message on the source code:

/*
 * Copyright (c) 1990, 1992 Jan-Simon Pendry
 * All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Jan-Simon Pendry.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by the University of
 *      California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */
1993-03-25 06:00:17 +00:00
cgd fa8ba8a3eb files which implement the kern filesystem. from Jan-Simon Pendry,
pendry@vangogh.cs.berkeley.edu
1993-03-23 23:56:50 +00:00
cgd e603545328 files which implement the fdesc filesystem. from Jan-Simon Pendry,
pendry@vangogh.cs.berkeley.edu
1993-03-23 23:56:31 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00