kleink
e9d6f5e996
Per IEEE Std 1003.1b-1993, implement the fdatasync() system call which is
...
identical to fsync() with the expecption of not being required to synchronize
file status information.
1998-06-05 20:31:36 +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
3a1500efe9
Per X/Open CAE Spec Issue 5 Version 2, change the buffer size argument of
...
readlink() from type `int' to type `size_t'. This isn't an ABI change, since
the calling convention of our only LP64 platform (the Alpha) already promotes
this argument to a `long'.
This may not be the final action on this matter; readlink() still returns
an `int', which may change in a future revision of the standard.
1998-03-27 13:02:20 +00:00
kleink
071ab13ebb
Move the permission check in change_owner() back to ufs_vnops::ufs_chown()
...
again - the facility required in this context would be a filesystem-specific
super-user determination, which is not available yet. Also, add some
clarification to a comment.
1998-03-10 11:49:33 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
kleink
3ef309317a
* Factor out some permission-checking code from ufs_setattr() into
...
change_owner().
* Change the semantics of chown(), fchown() and lchown(): when requesting a
change of the owner of a file, clear the set-user-id bit; analogous behaviour
for group changes.
* Since the above is a violation of the semantics specified by POSIX and
X/Open, add corresponding compatibility syscalls: __posix_chown(),
__posix_fchown(), __posix_lchown(). (Neither fchown() nor lchown() is
specified by POSIX; the prefix is intended to reflect the semantics.)
* Rename posix_rename() to __posix_rename() to follow the above convention.
1998-02-14 19:49:43 +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
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
thorpej
ec98cfce8a
sys_mount(): Use vfs_getopsbyname() rather than groveling the vfssw[]
...
manualls.
1998-02-03 09:11:55 +00:00
kleink
087ac96d12
Update to last commit: do not pass the accounting flag to suser(), since the call does not actually *use* super-user privileges. Pointed out by Charles.
1997-12-21 18:50:57 +00:00
kleink
aa4d1febf1
Due to the feedback received, change chown(), fchown() and lchown() not to
...
clear the setgid and setuid bits if called by the superuser. Addresses
PR kern/4662.
1997-12-21 17:49:18 +00:00
enami
4589c896eb
Conditionalize the recognition of symbolic link permission by
...
per fs mount option `symperm'.
1997-10-30 22:47:06 +00:00
thorpej
14cd99880c
Fix the shared library versioning snafu caused by the recent changes
...
to the stat(2) family and msync(2). This uses a primitive function
versioning scheme.
This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.
From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
mycroft
9341cad610
After conversion of the file flags, if neither FREAD nor FWRITE is set,
...
return EINVAL.
1997-10-19 17:18:10 +00:00
mycroft
11c9f28f0e
Update comment.
1997-10-19 03:29:20 +00:00
enami
db7f1ad2ad
Check read permission of symbolic link in vfs layer, when doing readlink(2).
...
Suggested by der Mouse. Ok'ed by Jason R. Thorpe.
1997-10-11 00:05:15 +00:00
fvdl
541b204984
Add vn_readdir function for use in both the old getdirentries and
...
the new getdents(). Add getdents().
1997-10-10 02:09:30 +00:00
thorpej
b4b543bc6f
In sys_mount(), use vfs_getopsbyname() rather than using an explicit
...
reference to vfssw[].
1997-10-09 00:39:19 +00:00
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
fvdl
cb05b6a54b
Two more "|| defined(COMPAT_LINUX)" that I somehow missed first time around.
1995-03-05 20:48:15 +00:00
fvdl
7b5bd63e35
Extended a couple of defines with "|| defined(COMPAT_LINUX)" to make
...
things compile without requiring COMPAT_43 and/or COMPAT_09.
1995-03-05 08:52:17 +00:00
mycroft
af0c359450
Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
...
differently.
1995-01-18 06:14:43 +00:00
mycroft
b4aa6d3a28
Call foo_statfs() from a common place when mounting.
1994-12-15 19:46:08 +00:00
mycroft
12371eafc4
Revert open() completely.
1994-12-14 19:36:15 +00:00
mycroft
1b00f4cc4e
Revert dup handling. Remove extra arg to vn_open().
1994-12-14 19:08:07 +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
23bd29ca27
Minor changes.
1994-12-13 09:49:13 +00:00
mycroft
b58324b77a
Abstract out the code to maintain fd_lastfile. Remove the old dup() compatibility
...
kluge. Rearrange fdopen() handling. Make a common function to handle closing
a particular file descriptor in a process. Some other cleanup.
1994-12-04 03:09:50 +00:00
christos
70e6f7edb8
Don't VOP_UNLOCK the vnode on a cloning operation. vput() will do it for
...
us.
1994-11-18 02:48:58 +00:00
christos
3e935d8a0d
Added ifdef COMPAT_SVR4 to the kernel compat code needed.
1994-11-17 20:27:10 +00:00
christos
1a320dc9be
added extra argument in vn_open and VOP_OPEN to allow cloning devices
1994-11-14 06:01:16 +00:00
cgd
6ac2bbfc35
be more careful with types, also pull in headers where necessary.
1994-10-30 21:43:03 +00:00
cgd
6b86130410
update for new syscall args description mechanism
1994-10-20 04:22:35 +00:00
mycroft
480c10c23a
Maintain vfs reference counts.
1994-09-22 02:17:00 +00:00
mycroft
4566d7f5ba
Need ostat() and olstat() for iBCS2 syscall conversion.
1994-08-15 22:06:47 +00:00
mycroft
4a8bf3976b
Fix a problem in sync() where we might keep a stale pointer to the next mount
...
entry.
1994-08-13 07:05:53 +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
1e92bdf540
Make ogetdirentries() if COMPAT_HPUX.
1994-06-22 03:01:16 +00:00
mycroft
e916c8d15f
Update to union mount code from JSP.
1994-06-16 14:14:57 +00:00
mycroft
699bbb84b6
Update to 4.4-Lite fs code.
1994-06-08 11:28:29 +00:00
cgd
6dad8d7a8a
put sync printing in one place
1994-05-18 00:35:07 +00:00
cgd
0e794e2d48
stub pathconf, kill some spaces
1994-05-07 00:59:59 +00:00
cgd
f8dd4f370d
expand the rlimit struct, kill last vestiges of off_t bogosity.
1994-05-04 01:38:25 +00:00
cgd
f50f031448
kill syscall name aliases. no user-visible changes
1994-04-29 04:41:02 +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
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
551e92c16a
start to phase out temp. off_t syscalls
1994-04-16 23:19:06 +00:00
cgd
3b4faf4521
slightly loosen lseek restriction
1994-04-16 06:51:58 +00:00
cgd
4be7b669e2
fs types are names now; accompanying changes.
1994-04-14 04:05:28 +00:00
cgd
b9bf37a91f
if MNT_USER is set, let fs authenticate unmount
1994-04-07 07:20:31 +00:00
cgd
ed740c7de8
frob arguments a little bit
1994-04-02 08:39:20 +00:00
cgd
304e374292
expand uid_t/gid_t/off_t
1994-03-27 09:08:02 +00:00
mycroft
1b37a40b3d
Fix that last bug correctly.
1994-02-01 01:04:07 +00:00
pk
92f1bd1c60
Replace a bogus pointer-dereference with something that at least *looks*
...
more sensible.
1994-02-01 00:29:14 +00:00
cgd
bc53d82fa7
fix utimes() to deal with NULL timeval ptr
1994-01-13 23:51:43 +00:00
cgd
2c5c3a2774
add support for union and loopback mounts, from jsp
1994-01-04 14:10:48 +00:00
cgd
ba67215d35
generalize dupfdopen() to allow dups and moves. from jsp
1994-01-04 12:26:21 +00:00
mycroft
7f50bd1829
Canonicalize all #includes.
1993-12-18 04:21:37 +00:00
cgd
436e431478
BSDI official patch #15 :
...
SUMMARY:
"panic: vrele: null vp", the problem seems to be that two renames are
moving the same source, and the second one can't do it.
ALSO:
in sync, check that rootfs is non-null before using it.
1993-10-27 02:33:40 +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
mycroft
5cc9898c12
Cosmetic change to VOP_ADVLOCK() fix.
1993-08-03 00:11:29 +00:00
mycroft
f9ce597695
Collapse a bunch of `if (a & x) b |= x; else b &= ~x;' statements.
...
Whoever wrote this fugly code must've been on drugs.
1993-08-02 23:37:56 +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
mycroft
a2587ffb83
Nuke a kluge from Net/2. The argument list ocreat() creates for open() can
...
now be a struct open_args; no need to redefine the structure.
1993-07-18 06:28:01 +00:00
cgd
9c0456d7d7
gcc2 cleanup, and break args out of procedure def'ns
1993-07-15 22:56:23 +00:00
cgd
230dcf0d05
add $Id$ strings, and clean up file headers where necessary
1993-05-20 02:54:09 +00:00
cgd
61f282557f
initial import of 386bsd-0.1 sources
1993-03-21 09:45:37 +00:00