summaryrefslogtreecommitdiffstats
path: root/sys/contrib
Commit message (Collapse)AuthorAgeFilesLines
* Cosmetic changes to make it compile without errors in gcc -Walljulian1999-05-221-10/+17
|
* Add a hook to ffs_fsync to allow soft updates to get first chance at doingmckusick1999-05-141-28/+97
| | | | | | a sync on the block device for the filesystem. That allows it to push the bitmap blocks before the inode blocks which greatly reduces the number of inode rollbacks that need to be done.
* Put back changes that might be causing trouble on Alpha.mckusick1999-05-091-3/+5
|
* Simplify the COMPAT_PCI_DRIVER/DATA_SET hack. We can add:peter1999-05-091-5/+1
| | | | | | | | #define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data) .. to 2.2.x and 3.x if people think it's worth it. Driver writers can do this if it's not defined. (The reason for this is that I'm trying to progressively eliminate use of linker_sets where it hurts modularity and runtime load capability, and these DATA_SET's keep getting in the way.)
* Whitespace cleanup.mckusick1999-05-071-2/+2
|
* Get rid of random debugging cruft; sync up with latest version.mckusick1999-05-071-38/+10
|
* Severe slowdowns have been reported when creating or removing manymckusick1999-05-071-108/+290
| | | | | | | | | | | | | | | | | | | | | | files at once on a filesystem running soft updates. The root of the problem is that soft updates limits the amount of memory that may be allocated to dependency structures so as to avoid hogging kernel memory. The original algorithm just waited for the disk I/O to catch up and reduce the number of dependencies. This new code takes a much more aggressive approach. Basically there are two resources that routinely hit the limit. Inode dependencies during periods with a high file creation rate and file and block removal dependencies during periods with a high file removal rate. I have attacked these problems from two fronts. When the inode dependency limits are reached, I pick a random inode dependency, UFS_UPDATE it together with all the other dirty inodes contained within its disk block and then write that disk block. This trick usually clears 5-50 inode dependencies in a single disk I/O. For block and file removal dependencies, I pick a random directory page that has at least one remove pending and VOP_FSYNC its directory. That releases all its removal dependencies to the work queue. To further hasten things along, I also immediately start the work queue process rather than waiting for its next one second scheduled run.
* Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn'tpeter1999-04-241-1/+5
| | | | hurt the driver portability to 3.x too much for where drivers are shared.
* As I understand it, these register_intr()'s shouldn't be here. The isapeter1999-04-211-3/+1
| | | | driver attaches the interupt itself.
* Need to include /contrib/dev/oltr/... not dev/oltr/...julian1999-03-101-2/+2
|
* Submitted by: Larry Lilejulian1999-03-107-0/+10211
| | | | | | | | Move the Olicom token ring driver to the officially sanctionned location of /sys/contrib. Also fix some brokenness in the generic token ring support. Be warned that if_dl.h has been changed and SOME programs might like recompilation.
* Reorganize locking to avoid holding the lock during calls to bdwritemckusick1999-03-021-3/+9
| | | | | | and brelse (which may sleep in some systems). Obtained from: Matthew Dillon <dillon@apollo.backplane.com>
* Ensure that softdep_sync_metadata can handle bmsafemap and mkdir entriesmckusick1999-03-022-5/+48
| | | | | if they ever arise (which should not happen as softdep_sync_metadata is currently used).
* fix double LIST_REMOVE; other cosmetic changes to match version 9.32.mckusick1999-02-171-12/+13
| | | | Obtained from: Jeffrey Hsu <hsu@FreeBSD.ORG>
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-272-10/+10
| | | | kernel compile
* Gutted softdep_deallocate_dependencies and replaced it with a panic. Itdg1999-01-221-41/+3
| | | | | | | | turns out to not be useful to unwind the dependencies and continue in the face of a fatal error. Also changed the log() to a printf() in softdep_error() so that it will be output in the case of a impending panic. Submitted by: Kirk McKusick <mckusick@mckusick.com>
* Don't pass unused unused timestamp args to UFS_UPDATE() or wastebde1999-01-071-16/+22
| | | | | time initializing them. This almost finishes centralizing (in-core) timestamp updates in ufs_itimes().
* UFS_UPDATE() takes a boolean `waitfor' arg, so don't pass it the valuebde1999-01-061-5/+5
| | | | | | MNT_WAIT when we mean boolean `true' or check for that value not being passed. There was no problem in practice because MNT_WAIT had the magic value of 1.
* Remove some compiler warnings.julian1998-12-101-9/+6
|
* The "easy" fixes for compiling the kernel -Wunused: remove unreferenced staticarchie1998-12-071-5/+8
| | | | and local variables, goto labels, and functions declared but not defined.
* Examine all occurrences of sprintf(), strcat(), and str[n]cpy()archie1998-12-042-7/+9
| | | | | | | | | | | | | | for possible buffer overflow problems. Replaced most sprintf()'s with snprintf(); for others cases, added terminating NUL bytes where appropriate, replaced constants like "16" with sizeof(), etc. These changes include several bug fixes, but most changes are for maintainability's sake. Any instance where it wasn't "immediately obvious" that a buffer overflow could not occur was made safer. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Matthew Dillon <dillon@apollo.backplane.com> Reviewed by: Mike Spengler <mks@networkcs.com>
* Staticize some more.eivind1998-11-266-25/+25
|
* Change dirty block list handling to use TAILQ macros.peter1998-10-311-8/+8
|
* Clarify a rather ambiguous debugging message.jkh1998-10-281-2/+2
|
* Fix 'noatime' bug that was unrelated to use of noatime.nate1998-10-031-1/+10
| | | | | | | | | | | | | | | | | | | | | | | The problem is caused when a directory block is compacted. When this occurs, softdep_change_directoryentry_offset() is called to relocate each directory entry and adjust its matching diradd structure, if any, to match the new location of the entry. The bug is that while softdep_change_directoryentry_offset() correctly adjusts the offsets of the diradd structures on the pd_diraddhd[] lists (which are not yet ready to be committed to disk), it fails to adjust the offsets of the diradd structures on the pd_pendinghd list (which are ready to be committed to disk). This causes the dependency structures to be inconsistent with the buf contents. Now, if the compaction has moved a directory entry to the same offset as one of the diradd structures on the pd_pendinghd list *and* a syscall is done that tries to remove this directory entry before this directory block has been written to disk (which would empty pd_pendinghd), a sanity check in newdirrem() will call panic() when it notices that the inode number in the entry that it is to be removed doesn't match the inode number in the diradd structure with that offset of that entry. Reviewed by: Kirk McKusick <mckusick@McKusick.COM> Submitted by: Don Lewis <Don.Lewis@tsc.tdk.com>
* Eliminate a race in VOP_FSYNC() when softupdates is enabled.luoqi1998-09-241-1/+2
| | | | | | | | | | Submitted by: Kirk McKusick <mckusick@McKusick.COM> Two minor changes are also included, 1. Remove gratuitious checks for error return from vn_lock with LK_RETRY set, vn_lock should always succeed in these cases. 2. Back out change rev. 1.36->1.37, which unnecessarily makes async mount a little more unstable. It also keeps us in sync with other BSDs. Suggested by: Bruce Evans <bde@zeta.org.au>
* Made some disgusting ifdefs even more disgusting to enable the supportbde1998-08-155-11/+11
| | | | | for `u_long cmd' ioctl args if __FreeBSD_version >= 300003. Some ioctls were broken on machines with 32-bit ints and 64-bit longs.
* Handle the case of moving a directory onto the top of a sibling'sjulian1998-08-121-2/+27
| | | | | | | child of the same name. Submitted by: Kirk Mckusick with fixes from luoqi Chen Obtained from: Whistle test tree.
* Merge ipfilter 3.2.3 -> 3.2.7 changes onto mainline.peter1998-06-208-87/+218
|
* This commit was generated by cvs2svn to compensate for changes in r37071,peter1998-06-205-14/+32
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Import ipfilter 3.2.7 kernel componentspeter1998-06-2013-101/+246
| |
* | Note which version of Kirk's sources this corresponds to.julian1998-06-121-2/+2
| |
* | Fix the case when renaming to a file that you've just created and deleted,julian1998-06-121-22/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that had an inode that has not yet been written to disk, when the inode of the new file is also not yet written to disk, and your old directory entry is not yet on disk but you need to remove it and the new name exists in memory but has been deleted but the transaction to write the deleted name to disk exists and has not yet been cancelled by the request to delete the non existant name. I don't know how kirk could have missed such a glaring problem for so long. :-) Especially since the inconsitency survived on the disk for a whole 4 second on average before being fixed by other code. This was not a crashing bug but just led to filesystem inconsitencies if you crashed. Submitted by: Kirk McKusick (mckusick@mckusick.com)
* | Add B_NOCACHE to several cases where BSD4.4 only required a B_INVAL.julian1998-06-111-4/+4
| | | | | | | | Change worked out by john and kirk in consort.
* | Fix for "live inode" panic.julian1998-06-101-20/+27
| | | | | | | | | | Submitted by: Kirk McKusick <mckusick@McKusick.COM> Reviewed by: yeah right...
* | Remove buggy debugging code.julian1998-06-101-43/+1
| |
* | Fixed pedantic semantics errors (bitfields not of type int, signed intbde1998-06-081-3/+3
| | | | | | | | | | | | | | or unsigned int (this doesn't change the struct layout, size or alignment in any of the files changed in this commit, at least for gcc on i386's. Using bitfields of type u_char may affect size and alignment but not packing)).
* | ip_fil.h has 9 separate declarations of iplioctl() in a disgustingbde1998-06-082-5/+8
| | | | | | | | | | | | | | | | ifdef tangle. The previous commit to ip_fil.h didn't change the one that actually applies to the current FreeBSD kernel, of course. Fixed. Fixed style bugs in previous commit to ip_fil.h.
* | This commit fixes various 64bit portability problems required fordfr1998-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* | Add a reference to the Ganger/Patt paperjulian1998-06-021-0/+3
| |
* | A fix to a debug test from Kirk.julian1998-05-271-1/+4
| |
* | Bring up-to-date with Whistle's current versionjulian1998-05-192-6/+85
| | | | | | | | Includes some debugging code.
* | Merge with Kirk's version as of Feb 20julian1998-05-191-88/+86
| | | | | | | | | | His version 9.23 == our version 1.5 of ffs_softdep.c His version 9.5 == our version 1.4 of softdep.c
* | Merge in Kirk's changes to stop softupdates from hogging all of memory.julian1998-05-193-67/+294
| |
* | Change to stop a silly panic. This should be understood better.julian1998-05-191-7/+4
| | | | | | | | | | Change a buffer swizzle trick to a bcopy. It would be nice if the efficient trick could be used in the future.
* | First published FreeBSD version of soft updates Feb 5.julian1998-05-192-125/+168
| |
* | This commit was generated by cvs2svn to compensate for changes in r36206,julian1998-05-192-121/+225
|\ \ | | | | | | | | | which included commits to RCS files with non-trunk default branches.
| * | Import the next version received from kirk after somejulian1998-05-192-121/+225
| | | | | | | | | | | | FreeBSD feedback.
* | | This commit was generated by cvs2svn to compensate for changes in r36201,julian1998-05-193-0/+4622
|\ \ \ | |/ / | | | | | | which included commits to RCS files with non-trunk default branches.
| * | Import the earliest version of the soft update code that I have.julian1998-05-193-0/+4622
| /
OpenPOWER on IntegriCloud