summaryrefslogtreecommitdiffstats
path: root/contrib/sys/softupdates
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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>
* 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.
* 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
|
* 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
|
* Import the next version received from kirk after somejulian1998-05-192-121/+225
| | | | FreeBSD feedback.
* Import the earliest version of the soft update code that I have.julian1998-05-193-0/+4622
OpenPOWER on IntegriCloud