Commit Graph

293 Commits

Author SHA1 Message Date
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