Commit Graph

148 Commits

Author SHA1 Message Date
ache
72565796f2 Fix adjkerntz expression priority.
Make filetimes the same as DOS times for UTC cmos clock.
1996-04-05 18:59:06 +00:00
ache
a17e006b7f Don't adjust file times for UTC clock to have the same timestamps
for DOS/FreeBSD.
1996-04-05 16:31:49 +00:00
gpalmer
6495025245 add a `Warning:' to the message saying that the root directory is not a
multiple of the clustersize in length to try and reduce the number
of questions we get on the subject.
1996-04-03 23:05:40 +00:00
dyson
1fa4d69259 Fix the problem that unmounting filesystems that are backed by a VMIO
device have reference count problems.  We mark the underlying object
ono-persistent, and account for the reference count that the VM system
maintainsfor the special device close.  This should fix the removable
device problem.
1996-03-19 05:13:22 +00:00
joerg
25dec96ec5 Provide a better handling of partially corrupted directory entries.
Submitted by:	bde
1996-03-14 21:44:32 +00:00
peter
6e87e26a52 Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all
files are off the vendor branch, so this should not change anything.

A "U" marker generally means that the file was not changed in between
the 4.4Lite and Lite-2 releases, and does not need a merge.  "C" generally
means that there was a change.
[note, new file: cd9660_mount.h]
1996-03-11 19:20:10 +00:00
hsu
0c2c8ab30d For Lite2: proc LIST changes.
Reviewed by:	davidg & bde
1996-03-11 06:13:09 +00:00
dyson
27ec9182ba Make sure that the zero flag is cleared upon completion of paging I/O. 1996-03-09 07:02:52 +00:00
wollman
5c25078715 Kill XNS.
While we're at it, fix socreate() to take a process argument.  (This
was supposed to get committed days ago...)
1996-02-13 18:16:31 +00:00
wosch
ec52b9e55d add ruid and rgid to file 'status' 1996-02-02 05:19:20 +00:00
mpp
f3dd75a38d Fix a bunch of spelling errors in the comment fields of
a bunch of system include files.
1996-01-30 23:02:38 +00:00
peter
eb3b1f018c This time, really make the procfs work when reading stuff from the UPAGES.
This is a really ugly bandaid on the problem, but it works well enough for
'ps -u' to start working again.  The problem was caused by the user
address space shrinking by a little bit and the UPAGES being "cast off" to
become a seperate entity rather than being at the top of the process's
vmspace.  That optimization was part of John's most recent VM speedups.

Now, rather than decoding the VM space, it merely ensures the pages are
in core and accesses them the same way the ptrace(PT_READ_U..) code does,
ie: off the p->p_addr pointer.
1996-01-25 06:05:38 +00:00
peter
7ce7970731 Major fixes for procfs..
Implement a "variable" directory structure. Files that do not make
sense for the given process do not "appear" and cannot be opened.
For example, "system" processes do not have "file", "regs" or "fpregs",
because they do not have a user area.

"attempt" to fill in the user area of a given process when it is being
accessed via /proc/pid/mem (the user struct is just after
VM_MAXUSER_ADDRESS in the process address space.)

Dont do IO to the U area while it's swapped, hold it in place if possible.

Lock off access to the "ctl" file if it's done a setuid like the other
pseudo-files in there.
1996-01-24 18:41:41 +00:00
dyson
8fc8a772af Eliminated many redundant vm_map_lookup operations for vm_mmap.
Speed up for vfs_bio -- addition of a routine bqrelse to greatly diminish
	overhead for merged cache.
Efficiency improvement for vfs_cluster.  It used to do alot of redundant
	calls to cluster_rbuild.
Correct the ordering for vrele of .text and release of credentials.
Use the selective tlb update for 486/586/P6.
Numerous fixes to the size of objects allocated for files.  Additionally,
	fixes in the various pagers.
Fixes for proper positioning of vnode_pager_setsize in msdosfs and ext2fs.
Fixes in the swap pager for exhausted resources.  The pageout code
	will not as readily thrash.
Change the page queue flags (PG_ACTIVE, PG_INACTIVE, PG_FREE, PG_CACHE) into
	page queue indices (PQ_ACTIVE, PQ_INACTIVE, PQ_FREE, PQ_CACHE),
	thereby improving efficiency of several routines.
Eliminate even more unnecessary vm_page_protect operations.
Significantly speed up process forks.
Make vm_object_page_clean more efficient, thereby eliminating the pause
	that happens every 30seconds.
Make sequential clustered writes B_ASYNC instead of B_DELWRI even in the
	case of filesystems mounted async.
Fix a panic with busy pages when write clustering is done for non-VMIO
	buffers.
1996-01-19 04:00:31 +00:00
wollman
26b6c4cd73 Convert QUOTA to new-style option. 1996-01-05 18:31:58 +00:00
phk
d63b42b7f8 I have some problem here, which shows up in the ahc0 driver. It isn't where
it originates, so I catch it here and fail.
This may expose the same bug on other disk controllers (both scsi & ide).
1996-01-01 20:20:45 +00:00
bde
ca36bb34d1 Fixed 1TB filesize changes. Some pindexes had bogus names and types
but worked because vm_pindex_t is indistinuishable from vm_offset_t.
1995-12-17 07:19:58 +00:00
phk
9cb413a93c Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
julian
d905b350fe devsw tables are now arrays of POINTERS to struct [cb]devsw
seems to work hre just fine though  I can't check every file
that changed due to limmited h/w, however I've checked enught to be petty
happy withe hte code..

WARNING... struct lkm[mumble] has changed
so it might be an idea to recompile any lkm related programs
1995-12-13 15:13:57 +00:00
phk
d7af2f0a80 Back out this one, must have screwed up somewhere :-( 1995-12-11 10:26:34 +00:00
phk
dffac85a9b Staticize. 1995-12-11 09:24:58 +00:00
dyson
601ed1a4c0 Changes to support 1Tb filesizes. Pages are now named by an
(object,index) pair instead of (object,offset) pair.
1995-12-11 04:58:34 +00:00
julian
1900eea896 Pass 3 of the great devsw changes
most devsw referenced functions are now static, as they are
in the same file as their devsw structure. I've also added DEVFS
support for nearly every device in the system, however
many of the devices have 'incorrect' names under DEVFS
because I couldn't quickly work out the correct naming conventions.
(but devfs won't be coming on line for a month or so anyhow so that doesn't
matter)

If you "OWN" a device which would normally have an entry in /dev
then search for the devfs_add_devsw() entries and munge to make them right..
check out similar devices to see what I might have done in them in you
can't see what's going on..
for a laugh compare conf.c conf.h defore and after... :)
I have not doen DEVFS entries for any DISKSLICE devices yet as that will be
a much more complicated job.. (pass 5 :)

pass 4 will be to make the devsw tables of type (cdevsw * )
rather than (cdevsw)
seems to work here..
complaints to the usual places.. :)
1995-12-08 11:19:42 +00:00
dg
c30f46c534 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
bde
699ff01f66 Include <vm/vm.h> or <vm/vm_page.h> explicitly to avoid breaking when
vnode_if.h doesn't include vm stuff.
1995-12-05 21:51:45 +00:00
bde
f69be9bd94 Restored #include of <sys/tty.h>. fdesc_vnops.c needs to know too much
about tty_tty.c's cdevswitch functions.
1995-12-05 19:12:05 +00:00
bde
74fff1ae89 Added prototypes.
cd9660_rrip.c:
Added lots of bogus casts to hide type errors exposed by the prototypes.
(Different structs are assumed to have a common prefix.)

cd9660_vnops.c:
Finished staticizing.
1995-12-03 17:14:38 +00:00
bde
7d54fff460 Added prototypes. 1995-12-03 16:42:02 +00:00
bde
64a1fca498 Added prototypes.
Removed some unnecessary #includes.
1995-12-03 14:54:48 +00:00
bde
1a0a9cf4f5 null_node_find() and umap_node_find() were sometimes called without a
`struct mount *' arg.  I don't know what the effects of this were.
1995-12-03 14:38:57 +00:00
phk
4c2deccfc8 staticize. 1995-12-02 17:14:34 +00:00
julian
1758bf79ff #ifdef out nearly the entire file of conf.c when JREMOD is defined
add a few safety checks in specfs because
now it's possible to get entries in [cd]devsw[] which are ALL NULL
so it's better to discover this BEFORE jumping into the d_open() entry..

more check to come later.. this getsthe code to the stage where I
can start testing it, even if I haven't caught every little error case...
I guess I'll find them quick enough..
1995-11-29 12:38:49 +00:00
bde
24ce87cc75 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
dyson
695d23a6ac Since FreeBSD clustering code now supports filesystems < PAGE_SIZE,
enable clustering for cd9660, thereby giving a BIG performance boost.
1995-11-20 03:57:50 +00:00
bde
f6f9517a58 KNFized spec_getpages_idone() and spec_getpages().
Moved misplaced #includes.

Completed function pointer declarations.
1995-11-18 12:49:14 +00:00
bde
590eb80fc2 Moved declarations for static functions to the correct place (not in a
header) and cleaned them up.
1995-11-16 11:48:10 +00:00
bde
1f7a6b421f Moved declarations for static functions to the correct place (not in a
header).

Removed stupid comments.
1995-11-16 11:39:11 +00:00
bde
536440376f Fixed the type of procfs_sync(). Trailing args were missing.
Fixed the type of procfs_fhtovp().  The args had little resemblance to
the correct ones.

Added prototypes.
1995-11-16 11:34:51 +00:00
bde
1021ce9fbe Fixed the type of portal_sync(). Trailing args were missing.
Fixed the type of portal_fhtovp().  The args had little resemblance to
the correct ones.

Added prototypes.
1995-11-16 11:24:06 +00:00
bde
c0aa19d261 Fixed the type of fdesc_sync(). Trailing args were missing.
Fixed the type of fdesc_fhtovp().  The args had little resemblance to
the correct ones.

Added prototypes.
1995-11-16 10:58:35 +00:00
phk
ec15d167b9 Get rid of hostnamelen variable. 1995-11-14 09:37:22 +00:00
bde
57b44bbf03 Fixed getdirentries() on nfs mounted msdosfs's. No cookies were returned
for certain common combinations of directory sizes, cluster sizes, and i/o
sizes (e.g., 4K, 4K, and 4K).  The fix in rev. 1.21 was incomplete.

Reviewed by:	dfr
Obtained from:	party from NetBSD
1995-11-13 18:47:40 +00:00
dg
3b89ca83bf Brought in the setattr call support from Lite-2 so that more correct error
returns are provided.

Obtained from:	4.4BSD-Lite2
1995-11-12 10:36:19 +00:00
dg
3f429c5533 Fix isoilk hang caused by not checking for read-onlyness in several places.
The fix for this in Lite-2 is more complete, but these quick hacks of mine
are safer for now. I plan to integrate the additional Lite-2 stuff at some
later time. Should completely fix PR810.
1995-11-12 10:16:53 +00:00
bde
8215d8dcd0 Removed unsed function dead_nullop().
Converted incomplete function declarations to prototypes.
1995-11-11 03:36:07 +00:00
bde
449a11eb88 Introduced a type `vop_t' for vnode operation functions and used
it 1138 times (:-() in casts and a few more times in declarations.
This change is null for the i386.

The type has to be `typedef int vop_t(void *)' and not `typedef
int vop_t()' because `gcc -Wstrict-prototypes' warns about the
latter.  Since vnode op functions are called with args of different
(struct pointer) types, neither of these function types is any use
for type checking of the arg, so it would be preferable not to use
the complete function type, especially since using the complete
type requires adding 1138 casts to avoid compiler warnings and
another 40+ casts to reverse the function pointer conversions before
calling the functions.
1995-11-09 08:17:23 +00:00
phk
9f443f927c missed one static thingie. 1995-11-07 14:10:19 +00:00
phk
ea7d29ed7a staticize private parts. 1995-11-07 14:06:45 +00:00
phk
06201558ed Make a lot of private stuff static.
Should anybody out there wonder about this vendetta against global
variables, it is basically to make it more visible what our interfaces
in the kernel really are.
I'm almost convinced we should have a
	#define PUBLIC /* public interface */
and use it in the #includes...
1995-11-07 13:39:31 +00:00
pst
09766cf230 Pad out MSDOS boot block to 512 bytes (bugfix only)
Submitted by: Andreas Haakh, ah@alman.RoBIN.de
1995-10-31 20:54:33 +00:00