Commit Graph

99 Commits

Author SHA1 Message Date
thorpej
c08ce9b419 If COMPAT_09 or COMPAT_43 are defined, include a table of "mount compatnames",
which maps the old file system index numbers to the new (well, since after
NetBSD 0.9) string-based method of finding a file system ops vector.  Use
this table rather than assuming the ordering of the vfssw[] array when
emulating the old mount system call.
1997-10-06 09:19:11 +00:00
enami
83d3cd0ec7 New function sys_lchmod(), sys_lchown() and sys_lutimes() to manipulate
symbolic links.
1997-10-03 14:44:26 +00:00
enami
ea531316f0 - New function change_mode() to set mode given a vnode.
- New function change_utimes() to set access and modification times
  given a vnode.
- In the function sys_chmod() and sys_fchmod(), call change_mode().
- In the function sys_utimes() and sys_futimes(), call
  change_utimes().
1997-10-03 14:14:36 +00:00
enami
a117f2d89b Reorder some piece of code;
In the function sys_utimes, do NDINIT() and namei() first.
In the function sys_futimes, do getvnode() first.
1997-10-03 13:46:02 +00:00
enami
dec1d15959 In the function sys_chmod and sys_utimes, use VOP_UNLOCK(vp) and vrele(vp)
instead of vput(vp).
1997-10-03 13:37:33 +00:00
enami
ba054536f8 Fold lone line to fit column < 80. 1997-10-03 13:32:06 +00:00
enami
9f882ea0ee Cosmetic change;
(error = ...) -> (error = ...) != 0, like other place.
1997-10-03 13:29:20 +00:00
kleink
66105c37fc Lseek(2) usage cleanup: the use of L_SET/L_INCR/L_XTND is deprecated,
use SEEK_SET/SEEK_CUR/SEEK_END instead.
1997-08-25 19:31:43 +00:00
fvdl
b5e26aee04 Invalidate publicly exported FS info when unmounting it locally. 1997-06-24 23:44:57 +00:00
kleink
d3aadd8976 Add posix_rename() syscall. 1997-05-18 19:56:48 +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
837a72363d VEXEC -> VLOOKUP, as appropriate. 1997-05-08 10:57:17 +00:00
mycroft
d7f33c5e60 va_mode contains stat bits. Use S_IS[UG]ID rather than VS[UG]ID. 1997-05-08 10:19:10 +00:00
kleink
29c5707479 * Make chown()/fchown() use a piece of common code to set ownership.
* Setting the ownership of a file now implies clearing its set-{group,user}-id
  bits.
1997-04-30 19:29:43 +00:00
kleink
e490ffb5cc Addendum to last commit: "simplify" usage of a vnode pointer. 1997-04-11 22:08:28 +00:00
kleink
589549e022 Use VOP_SEEK() in lseek(2). 1997-04-11 22:03:58 +00:00
kleink
116d655640 Back out POSIX.1 conformance change to lseek(2); this will be attended to
in a different way.
1997-04-09 23:26:06 +00:00
kleink
9300dedf8e Back out last change to rename(2) until a sane solution for the coexistence
of both BSD and POSIX semantics is available.
1997-04-07 00:04:16 +00:00
kleink
9d8538dd8b Changed lseek(2): return EINVAL upon attempt to seek to negative offset. 1997-04-04 13:57:06 +00:00
kleink
50ccaeca39 Converted rename(2) to proper POSIX.1 behavior: if "from" and "to"
are links to the same file, do nothing. This also eliminates the
previous (and incorrect) check, which was far more complicated.
1997-04-04 13:32:48 +00:00
fvdl
9599f78147 Add missing part of MNT_NOATIME commit: add it to the flags that can
be set by the mount system call.
1997-03-13 20:20:39 +00:00
fvdl
0538233e2c Implement changes to make fix for NQNFS and MFS unmounting (race conditions)
work. Not quite as good as with the Lite2 merges, but it'll do until then.

* dounmount() expects to be called with the mountpoint marked busy
* all callers of dounmount() thus make the call themselves
* if a filesystem was being unmounted, and we're woken up in vfs_busy(),
  don't reference the mountpoint struct pointer, as it has very probably
  been freed.
1997-02-22 03:22:32 +00:00
mikel
b0e7d3c13b sync filesystems in reverse order. suggested originally by Jim Rees
<rees@citi.umich.edu>, with some updating by Greg Hudson <ghudson@mit.edu>.
1997-02-20 04:52:44 +00:00
tls
4b1213d27c sync needs to clean VM objects backed by vnode pagers 1997-02-13 02:54:06 +00:00
fvdl
c745cba077 If the target for a rename() call exists, it will be removed. So, don't
leave any pages around (i,e, insert a vnode_pager_uncache()).
1997-02-10 12:41:19 +00:00
cgd
e7af2a8237 * catch up with system call argument type fixups/const poisoning.
* Fix arguments to various copyin()/copyout() invocations, to avoid
  gratuitous casts.
* Some KNF formatting fixes
1996-12-22 10:21:06 +00:00
cgd
6d3337bdf6 permit MNT_NOCOREDUMP as a generic mount flag. 1996-10-23 23:07:08 +00:00
jtc
4039b6bcba Return ESPIPE when filedes is associated with a FIFO. 1996-10-21 17:42:48 +00:00
mycroft
584810c846 Implement futimes(). 1996-04-23 10:29:02 +00:00
thorpej
44dcfee5ea Move an #ifdef FIFO so this compiles on a SPARC (-Wall) if FIFO is not
defined.
1996-03-22 06:51:04 +00:00
fvdl
6c53a8d22f Remove previously introduced bug: always make sure mappings of a removed
file don't stick around.
1996-03-18 23:06:08 +00:00
christos
09afd77655 More proto fixes 1996-02-09 18:59:18 +00:00
mycroft
06a1236be9 Rearrange the locking in sys_unlink(), more like nfsrv_remove(). 1996-02-09 15:39:12 +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
mycroft
7366dec9ec No need for LOCKPARENT in sys_lstat(), and eliminate dead variables. 1996-02-08 02:54:20 +00:00
jtc
d9d402d0fb Revert to sane symlink semantics. This something we should have done
long ago.  Fixes many PRs.
1996-02-07 16:55:56 +00:00
christos
e630447d8c First pass at prototyping 1996-02-04 02:17:43 +00:00
mycroft
bb7cccd06d Do the previous change a little differently. 1996-02-02 07:49:52 +00:00
jtc
e19bfae4f9 Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:18:04 +00:00
mycroft
99686e0059 Add a vnode** argument to getvnode(), prototype it, and make it return
EBADF if the file descriptor has been revoked.
1996-01-30 20:05:33 +00:00
mycroft
7edc899fdd ffs -> ufs 1995-11-11 22:00:15 +00:00
gwr
dd962ebbf6 Make sys_mount accept "ufs" as an alias for "ffs" 1995-11-07 22:41:02 +00:00
mycroft
245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej
60024eb978 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 21:40:36 +00:00
christos
1a5a3c9199 Extracted all of the compat_xxx routines, and created a library [libcompat]
for them. There are a few #ifdef COMPAT_XX remaining, but they are not easy
or worth eliminating (yet).
1995-06-24 20:33:55 +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
christos
fb371ccef0 tty_tb.c: need to include ioctl_compat.h in order to compile.
sysv_shm.c: make shm_find_segment_by_shmid global so it can be used by
	    COMPAT_HPUX. There should be a better way...
rest: Add #ifdef COMPAT_HPUX where needed
1995-05-10 16:52:53 +00:00
mycroft
2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
cgd
9c3af345b5 use NULL rather than casted zero 1995-03-08 01:21:30 +00:00