summaryrefslogtreecommitdiffstats
path: root/sys/ufs
Commit message (Collapse)AuthorAgeFilesLines
* Quick fix for breakage of read clustering on non-IDE drives. Readbde1998-08-181-2/+2
| | | | | | | | | | | | | | clustering is obsolescent technology so hardly anyone noticed. On a DORS 32160 SCSI drive with 4 tags, read clustering makes very little difference even for huge sequential reads. However, on a ZIP SCSI drive with 0 tags, the minimum overhead per block is about 40 msec, so very large clusters must be used to get anywhere near the maximum transfer rate. Using clusters consisting of 1 8K block reduces the transfer rate to about 250K/sec. Under msdosfs, missing read clustering is normal and a cluster size of 1 512 byte block reduces the transfer rate to about 25K/sec. Broken in: rev.1.18
* Removed unused includes.bde1998-08-172-5/+4
|
* "The releaseing of the reference and lock is not temporary and belongsmsmith1998-08-121-2/+1
| | | | | | | where it is. The reference and lock(s) are acquired just above the code in VREF() and relookup()." Submitted by: Michael Hancock <michaelh@cet.co.jp>
* Handle the case of moving a directory onto the top of a sibling'sjulian1998-08-122-5/+31
| | | | | | | child of the same name. Submitted by: Kirk Mckusick with fixes from luoqi Chen Obtained from: Whistle test tree.
* Used daddr_t's, not ints, to store disk block numbers. Updated printfbde1998-07-281-9/+11
| | | | | | | | formats and args to match. Fixed old printf format errors (all related; most were hidden by calling printf indirectly). This change somehow avoids compiler bugs for 64-bit longs on i386's, although it increases the number of 64-bit calculations.
* Made lazy syncing of timestamps for special files non-optional.bde1998-07-271-3/+1
|
* Cast pointers to uintptr_t/intptr_t instead of to u_long/long,bde1998-07-151-2/+2
| | | | | | | respectively. Most of the longs should probably have been u_longs, but this changes is just to prevent warnings about casts between pointers and integers of different sizes, not to fix poorly chosen types.
* Fixed printf format errors.bde1998-07-114-28/+31
|
* Add code missed in the initial Soft updates integration.julian1998-07-101-1/+16
| | | | | Make the unallocated parts of a directry have a know state in case we need it later.
* Don't update superblock if mounted readonly,julian1998-07-081-8/+15
| | | | | | also fixes some problems with softupdates on root. More cleanups are needed here.. Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
* Catch a few corner cases where FreeBSD differs enough from BSD 4.4 tojulian1998-07-081-4/+7
| | | | | confuse Soft updates.. Should solve several "dangling deps" panics.
* VOP_STRATEGY grows an (struct vnode *) argumentjulian1998-07-044-8/+10
| | | | | | as the value in b_vp is often not really what you want. (and needs to be frobbed). more cleanups will follow this. Reviewed by: Bruce Evans <bde@freebsd.org>
* Restored revs.1.89-1.90 which I somehow clobbered in rev.1.91.bde1998-07-031-4/+4
|
* Sync timestamp changes for inodes of special files to disk as latebde1998-07-034-13/+26
| | | | | | | | | | | | | | as possible (when the inode is reclaimed). Temporarily only do this if option UFS_LAZYMOD configured and softupdates aren't enabled. UFS_LAZYMOD is intentionally left out of /sys/conf/options. This is mainly to avoid almost useless disk i/o on battery powered machines. It's silly to write to disk (on the next sync or when the inode becomes inactive) just because someone hit a key or something wrote to the screen or /dev/null. PR: 5577 Previous version reviewed by: phk
* Centralized in-core inode update. Update the in-core inode directlybde1998-07-033-39/+25
| | | | | | | | in ufs_setattr() so that there is no need to pass timestamps to UFS_UPDATE() (everything else just needs the current time). Ignore the passed-in timestamps in UFS_UPDATE() and always call ufs_itimes() (was: itimes()) to do the update. The timestamps are still passed so that all the callers don't need to be changed yet.
* Make vprint() print dev_t in hex also.phk1998-06-271-3/+3
|
* Report the type from the inode, not the vnode.phk1998-06-271-2/+2
|
* Flesh this document out just a little in response to some userjkh1998-06-261-11/+25
| | | | | questions and also recommend linking over copying since, at this stage, a stale copy is a real concern.
* Removed unused includes.bde1998-06-211-2/+1
|
* Slight change to directory cleanupjulian1998-06-141-5/+9
| | | | | Makes soft updates a bit cleaner. Eliminates some warnings about 'corrupted directories' from fsck.
* 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
|
* Back out John's changes 1.45 -> 1.46julian1998-06-101-21/+17
| | | | | | Kirk confirms that the original semantic was what he wanted... (well, a very slight difference) May fix "dangling deps" panic with soft updates.
* The version of the softdep changes in FreeBSD broke thejulian1998-06-081-4/+7
| | | | | | | | (doingdirectory && !newparent) case of ufs_rename(). rename("D1/X/", "D2/Y/") gives a wrong link count for D2. Submitted by: Bruce Evans <bde@zeta.org.au> Reviewed by: Kirk McKusick <mckusick@McKusick.COM>
* Null change. Forgot to mention in previous log message that MNT_NOATIMEbde1998-06-071-1/+1
| | | | | | | | | | is now ignored for special files, so that mounting root with option noatime doesn't break reporting of idle times in programs like `w'. The problem of execessive disk updates just to stamp atimes will be handled for special files by only writing atimes to disk when inodes become active. This works well because special files are relatively uncommon and their atimes are even more disposable at panic time than regular files' atimes.
* Fixed some longstanding timestamp bugs:bde1998-06-071-59/+72
| | | | | | | | | | | | | | | | 1. mark atimes and mtimes of special files and fifos for update upon successful completion of non-null i/o, not at the beginning of the syscall. 2. never update file times for readonly filesystems. They were updated for stats and closes but not for syncs. The updates were of course only in-core and were thrown away when the inode was uncached, so the times sometimes appeared to go backwards. Improved comments in code related to (1) (mostly by removing them). Unmacroized ITIMES(). The test in (2) bloated it even more. Don't call getmicrotime() in the function version of it when we only need the time in seconds.
* Use size_t instead of u_int for sizes.dfr1998-06-041-3/+3
|
* If the filesystem blocksize is less than the VM page size, use the genericdfr1998-06-041-1/+7
| | | | | getpages code. This happens for filesystems with 4k pages on the alpha since the normal alpha pagesize is 8k.
* Don't cast a pointer to an int in DQHASH.dfr1998-06-041-2/+2
|
* Add a reference to the original softupdates paperjulian1998-06-021-0/+2
|
* 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
|
* Ensure that there is enough information here, so that people can usejulian1998-05-192-0/+20
| | | | soft updates should they desire.
* 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
|
* try stop the user from using mount -u to set the async flag onjulian1998-05-181-1/+11
| | | | | a filesystem currently using soft updates. Also needs a new copy of ffs_softdep.c to complete the fix.
* s/nanoruntime/nanouptime/gphk1998-05-171-2/+2
| | | | | | s/microruntime/microuptime/g Reviewed by: bde
* Add missing splx()julian1998-05-111-1/+2
| | | | Submitted by: Luoqi Chen <luoqi@chen.ml.org>
* Submitted by: abial@nask.pljulian1998-05-111-1/+10
| | | | Minor fix to support SLICE in MFS...
* In the words of the submitter:msmith1998-05-071-18/+9
| | | | | | | | | | | | | | | | | | | --------- Make callers of namei() responsible for releasing references or locks instead of having the underlying filesystems do it. This eliminates redundancy in all terminal filesystems and makes it possible for stacked transport layers such as umapfs or nullfs to operate correctly. Quality testing was done with testvn, and lat_fs from the lmbench suite. Some NFS client testing courtesy of Patrik Kudo. vop_mknod and vop_symlink still release the returned vpp. vop_rename still releases 4 vnode arguments before it returns. These remaining cases will be corrected in the next set of patches. --------- Submitted by: Michael Hancock <michaelh@cet.co.jp>
OpenPOWER on IntegriCloud