summaryrefslogtreecommitdiffstats
path: root/sys/ufs
Commit message (Collapse)AuthorAgeFilesLines
* Clean up -Wunused warnings.gpalmer1996-06-121-1/+5
| | | | Reviewed by: bde
* Moved the fsnode MALLOC to before the call to getnewvnode() so that thedg1996-06-123-10/+34
| | | | | | | | process won't possibly block before filling in the fsnode pointer (v_data) which might be dereferenced during a sync since the vnode is put on the mnt_vnodelist by getnewvnode. Pointed out by Matt Day <mday@artisoft.com>
* Clean up various compiler warnings. Most (if not all) were benigngpalmer1996-05-082-4/+4
| | | | Reviewed by: bde
* disksort() is gone, all drivers now use tqdisksort().phk1996-05-031-72/+1
|
* removed:phk1996-05-021-2/+2
| | | | | | | | | CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei() ptei() kvtopte() ptetov() ispt() ptetoav() &c &c new: NPDEPG Major macro cleanup.
* Removed bogus _BEGIN_DECLS/_END_DECLS.bde1996-05-014-43/+26
| | | | | | Removed unused struct tag declarations in cloned code. Added or cleaned up idempotency ifdefs.
* Yet more b_flags fixes. The previous ones broke the clearing of B_DONEbde1996-04-191-1/+5
| | | | | | | and B_READ before writing. This was was fatal. They also broke the clearing of B_INVAL before doing i/o. This didn't actually matter. Submitted by: mostly by joerg
* Replace usage of buf->b_actf by queue.3 and buf->b_actphk1996-04-083-19/+21
|
* Fixed reference counting related to relookup(). relookup() mustbde1996-03-291-3/+11
| | | | | | | | be called with the directory referenced, and this reference will be dropped iff relookup() fails, so the value returned must not be ignored. Reviewed by: davidg
* Make type compatible with Lite2.hsu1996-03-271-2/+2
| | | | Submitted by: bde
* Handle the bogus device that MFS uses as its VBLK device. We now don'tdyson1996-03-021-2/+8
| | | | | try to VMIO open it on MFS mounts. This will fix the mfs_badops panic.
* Enable VMIO for non-VDIR metadata and block device.dyson1996-03-021-4/+2
|
* More b_flags fixes.dyson1996-03-021-4/+4
|
* Fix a bug that b_flags was getting unnecessarily modified bydyson1996-03-011-3/+3
| | | | | the slice code. The effect up to now has been insignficant, but improved buffer allocation code will break with this problem.
* Add a prototype for the quotactl system call.mpp1996-02-271-1/+7
|
* Removed vestigial support for the obsolete FIFO option. In ext2fsbde1996-02-252-4/+3
| | | | | it caused null pointer panics for all fifo operations unless FIFO was defined.
* Fix a bunch of spelling errors in the comment fields ofmpp1996-01-302-5/+5
| | | | a bunch of system include files.
* Eliminated many redundant vm_map_lookup operations for vm_mmap.dyson1996-01-196-18/+22
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Partially fixed negative and truncated "Avail" counts in df output.bde1996-01-141-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes PR943. ffs/ffs_vfsops.c: ffs_statfs() multiplied by (100 - minfree) as part of calculating the minfree percentage (complemented in 100%), so with the standard minfree of 8, it was broken for file systems of size >= 1TB/92 = 11GB. Use the standard freespace() macro instead. This also fixes a rounding bug (the "Avail" count was sometimes 1 too small). ffs/* (not fixed): The freespace() macro multiplies by minfree, so with the standard minfree of 8, it is broken for file systems of size >= 1TB/8 = 128GB. This bug is more serious since it affects block allocation. ffs/ffs_alloc.c (not fixed): Ordinary users are sometimes allowed to allocate 1 (partial) block too many so that the "Avail" count goes negative. E.g., if there is 1 fragment available and the file is fairly large, one more full block is allocated. df/df.c: ufs_df() used/uses essentially the same code as ffs_statfs(), so it had/has the same bugs. ufs_df() gratuitously replaced "Avail" counts of < 0 by 0, so it gave different results for non-mounted file systems in this case.
* The second cast wasn't needed.phk1996-01-071-2/+2
| | | | Submitted by: bde
* Fix the asami&phk bug. This was a sign-extension bug, where a longphk1996-01-061-2/+2
| | | | | | got multiplied by a constant before being upgraded to long long. This should fix kern/104 and possibly kern/105. Thanks to: dyson & asami.
* Convert QUOTA to new-style option.wollman1996-01-0510-10/+31
|
* Convert DDB to new-style option.wollman1996-01-041-1/+3
|
* recording cvs-1.6 file deathpeter1995-12-302-788/+0
|
* Fixed prototyping and staticizing for -DDEBUG case.bde1995-12-222-8/+8
|
* Staticize.phk1995-12-222-25/+25
|
* Staticize.phk1995-12-1715-317/+173
|
* Silence a harmless warning...peter1995-12-151-2/+3
|
* Included <sys/conf.h> and updated to indirect devswitches so thatbde1995-12-141-4/+6
| | | | this compiles again, and added a prototype.
* *hack alert*! :-) This adds an option to the MFS_ROOT code so that itpeter1995-12-141-1/+94
| | | | | | is possible to boot a kernel with an empty in-core MFS image, and have it load the image from floppy directly. This is admittedly a hack and would be better replaced by a self-loading ram-disk.
* Changes to support 1Tb filesizes. Pages are now named by andyson1995-12-114-41/+30
| | | | (object,index) pair instead of (object,offset) pair.
* Untangled the vm.h include file spaghetti.dg1995-12-076-6/+20
|
* Fixed compilation of lfs utilities which I broke the other day bybde1995-12-062-7/+15
| | | | #including lfs_extern.h and goop to support it in lfs_conv.c.
* Completed function declarations and/or added prototypes and/or #includesbde1995-12-035-17/+29
| | | | to get the prototypes.
* Removed bogus __BEGIN_DECS/__END_DECLS.bde1995-11-281-3/+1
|
* After having put on my Asbestos suit, complete the MFS_ROOT part of Terry'speter1995-11-281-26/+27
| | | | | mountroot changes. This means that the mfs_initminiroot functionality into the root mfs_mount....
* Attempt to solve the busy-buffers-on-shutdown caused by MFS once and for all.peter1995-11-281-4/+14
| | | | | | | | | | | | | What was happening, was that the main mfs loop was sleeping, and when it was being awoken by a wakeup when it was supposed to process some IO requests. The problem was that if it was being woken out of the tsleep() by a signal at shutdown, it was going straight into dounmount() without servicing any pending IO requests, causing dounmount() to fail because there were busy buffers (and they could not be "processed" because the processing loop was trying to unmount rather than dispatching into mfs_doio()). This (dare I say it :-) appears to be a layering problem....
* Update the wd.c driver to use the new TAILQ scheme for devicedyson1995-11-231-1/+94
| | | | | | buffer queue. Also, create a new subroutine 'tqdisksort' that is an improved version of the original disksort that also uses TAILQs.
* Completed function declarations and/or added prototypes.bde1995-11-211-4/+2
|
* Fix compiler warnings.phk1995-11-202-5/+4
|
* General fixes to the vfs clustring code:dyson1995-11-191-1/+5
| | | | | | | | | | | | | 1) Make cluster buffer list be a non-malloced chain. This eliminates yet another 'evil' M_WAITOK and generally cleans up the code. 2) Fix write clustering for ext2fs. It was just broken. Also, ffs clustering had an efficiency problem that more bawrites were happening than should have been. 3) Make changes to buf.h to support the above, plus remove b_pfcent at the request of David Greenman. Note that the reallocblocks code is disabled pending rewrite for the cluster buffer list changes.
* Change incorrect '#if EXT2FS' to '#ifdef EXT2FS'dyson1995-11-191-17/+17
|
* Get rid of the last debug sysctl variables of the old style.phk1995-11-142-5/+5
|
* Included <sys/sysproto.h> to get central declarations for syscall argsbde1995-11-121-1/+10
| | | | | | | | | | structs and prototypes for syscalls. Ifdefed duplicated decentralized declarations of args structs. It's convenient to have this visible but they are hard to maintain. Some are already different from the central declarations. 4.4lite2 puts them in comments in the function headers but I wanted to avoid the large changes for that.
* Introduced a type `vop_t' for vnode operation functions and usedbde1995-11-097-322/+322
| | | | | | | | | | | | | | | 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.
* This commit causes UFS to perform at Linux EXT2FS metadata rates. Afterdyson1995-11-061-4/+20
| | | | | | | | earlier discussions with DG, and a recent email exchange with SEF, I decided to allow UFS to run wide-open on an experimental basis. We will probably support eventually multiple async modes, and this is the fastest the we can expect. Just use the -o async flag on the UFS mount. Good luck...
* Changes to existing files for ext2fs support. The UFS mods need reworkdyson1995-11-054-8/+132
| | | | | in the future as they are a bit crufty -- but at least the stuff is in the tree now.
* Fix ufs_bmap so that triple indirect blocks might work.dyson1995-11-051-2/+2
| | | | Submitted by: Godmar Back <gback@facility.cs.utah.edu>
* Make MNT_ASYNC more effective for UFS. It should not be too much moredyson1995-11-052-3/+8
| | | | | | | dangerous than the original MNT_ASYNC. There might be some minor security considerations due to data writes not being posted as promptly as before. Meta-data operations are still not quite as fast as Linux, but streaming I/O is still higher.
* mfs_open could panic with false identification: panic("mfs_ioctl: ....peter1995-10-311-2/+2
|
OpenPOWER on IntegriCloud