| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
does indeed work like printf(). gdb gets the string untranslated for some
reason.
|
|
|
|
| |
string.
|
|
|
|
|
|
|
|
|
|
| |
during the FS sync. The system would appear to hang momentarily
if there was a large backlog of I/O. This is because the vnode
remains locked during the output - preventing normal character
I/O. The problem was exacerbated by the FFS contiguous block
allocation fixes and a semi-broken disksort(). The inode/date
will still be synced during a normal FS dismount and whenever
the inode is changed for other reasons.
|
| |
|
| |
|
|
|
|
| |
rather than by cylinder.
|
|
|
|
|
|
| |
(except in netccitt, netiso and netns) and most of the warnings from
`gcc -Wnested-externs'. Fix all the bugs found. There were no serious
ones.
|
| |
|
|
|
|
|
| |
caused a cascade of problems including kernel memory corruption, file
corruption, system hangs, and panics.
|
| |
|
|
|
|
|
|
| |
when minfree is 5%...so make it stay at space in this case.
Submitted by: Kirk McKusick
|
|
|
|
|
|
|
| |
allow Q_SYNC regardless of "target" uid, we allow it with -1;
fix bug that caused all ops to refer to user quotas, not group.
Submitted by: Mike Karels
|
| |
|
|
|
|
|
|
| |
the VOP_BMAP calls, and add one to bdwrite.
Submitted by: John Dyson
|
|
|
|
|
|
|
|
| |
if all free blocks are in the same bucket (i.e. NRPOS == 1).
Else a free block is choosen, possibly from a different cylinder,
even if the block succeeding bpref was free ...
Submitted by: se
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
mapping from numbers to names is messy for backwards compatibility.
E.g., for driver "sd", unit "0":
slice 0: omit the slice number for compatibility; names are sd0[a-h].
slice 1: omit the partition letter 'c' because the whole disk device
shouldn't have anything to do with partitions; sd0 is the
only name.
slices 2-31: subtract 1 from slice number to compensate for the
compatibility slice 0; names are sd0s[1-30][a-h].
|
| |
|
|
|
|
|
|
| |
Use bmap run-length extension when doing clustered paging.
Submitted by: John Dyson
|
|
|
|
| |
Submitted by: John Dyson
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
much higher filesystem I/O performance, and much better paging performance. It
represents the culmination of over 6 months of R&D.
The majority of the merged VM/cache work is by John Dyson.
The following highlights the most significant changes. Additionally, there are
(mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to
support the new VM/buffer scheme.
vfs_bio.c:
Significant rewrite of most of vfs_bio to support the merged VM buffer cache
scheme. The scheme is almost fully compatible with the old filesystem
interface. Significant improvement in the number of opportunities for write
clustering.
vfs_cluster.c, vfs_subr.c
Upgrade and performance enhancements in vfs layer code to support merged
VM/buffer cache. Fixup of vfs_cluster to eliminate the bogus pagemove stuff.
vm_object.c:
Yet more improvements in the collapse code. Elimination of some windows that
can cause list corruption.
vm_pageout.c:
Fixed it, it really works better now. Somehow in 2.0, some "enhancements"
broke the code. This code has been reworked from the ground-up.
vm_fault.c, vm_page.c, pmap.c, vm_object.c
Support for small-block filesystems with merged VM/buffer cache scheme.
pmap.c vm_map.c
Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of
kernel PTs.
vm_glue.c
Much simpler and more effective swapping code. No more gratuitous swapping.
proc.h
Fixed the problem that the p_lock flag was not being cleared on a fork.
swap_pager.c, vnode_pager.c
Removal of old vfs_bio cruft to support the past pseudo-coherency. Now the
code doesn't need it anymore.
machdep.c
Changes to better support the parameter values for the merged VM/buffer cache
scheme.
machdep.c, kern_exec.c, vm_glue.c
Implemented a seperate submap for temporary exec string space and another one
to contain process upages. This eliminates all map fragmentation problems
that previously existed.
ffs_inode.c, ufs_inode.c, ufs_readwrite.c
Changes for merged VM/buffer cache. Add "bypass" support for sneaking in on
busy buffers.
Submitted by: John Dyson and David Greenman
|
|
|
|
| |
ufs functions.
|
|
|
|
|
|
|
| |
ordering that can prove fatal during large batches of deletes, but this
is much better than it was. I probably won't be putting much more time
into this until Seltzer releases her new version of LFS which has
fragment support. This should be availible just before USENIX.
|
|
|
|
|
|
| |
Update some macro names in comments.
Don't use MNT_WAIT for something not related to mounting.
|
|
|
|
|
|
|
|
| |
timestamps for an atomic operation such as rename() on a local file
system to be identical.
Uniformize yet another idempotency ifdef. The comment nesting was
bogus.
|
| |
|
|
|
|
|
|
|
| |
from the copies to create correct_readdisklabel() and
correct_writedisklabel().
Print the slice number in diskerr() if it is nonzero.
|
|
|
|
|
|
|
|
|
| |
Allow chown() to return success if the gid isn't changed even if
the gid is not the caller's. Such gids are normal for files created
in world-writable directories sucj as /tmp. This "fixes" annoying
error messages for mv'ing files created in /tmp to another file
system. mv still preserves the foreign gid of /tmp, but now does
it silently.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
buffering scheme and make it more in tune with FreeBSD's vfs_bio
implementation. The filesystem seems fairly stable, but I wouldn't recommend
it to anyone not willing to experience problems. This is very green code and
has the limitation that YOU CAN ONLY HAVE ONE LFS PARTITION MOUNTED AT A TIME.
What LFS is good for:
Non fsynced writes FASTER THAN FFS
Large deletions Increadibly fast
Reads are a little bit slower than FFS right now, but that is a factor of
how under optimized this code is. LFS should in theory perform at least as
well as FFS under fsync (iozone) type loads, and this is what I'm currently
working on.
Reviewed by: Justin Gibbs
Submitted by: John Dyson
Obtained from:
|
|
|
|
| |
Uniformize idempotency ifdef.
|
| |
|
|
|
|
|
|
|
| |
...
It turns out that these files do not include <sys/dkbad.h> before
<sys/disklabel.h>.
Submitted by: fredriks
|
| |
|
|
|
|
|
|
|
|
|
| |
This is part of a bug fix from Kirk McKusick to work around problems in FFS
related to the blkno of a 64bit offset not fitting into an int. Note the
proper solution would be to deal with 64bit block numbers, but doing this
would require sweeping changes; some other day perhaps.
Submitted by: Marshall Kirk McKusick
|
|
|
|
| |
This involves fixing a few things I broke last time.
|
|
|
|
|
|
|
|
| |
For it to be useful, you must stick your disklabel on the partition which
starts where the MBR says FreeBSD lives. If you don't do that, you might
get a bad day.
Oh, that probably also means that putting swap there is a bad idea...
|
| |
|
| |
|
| |
|
|
|
|
| |
Changed swapmap into swaplist.
|
|
|
|
|
| |
look for CC_WALL.
Cosmetics, a couple of unused vars.
|
|
|
|
| |
prototypes added. And the usual () work.
|
| |
|
|
|
|
| |
the wait.
|
|
|
|
| |
itself.
|
|
|
|
| |
Several FS's use this, so it doesn't belong in ufs. (unionfs, msdosfs and ufs)
|
| |
|
|
|
|
|
|
|
|
| |
- Make a number of filesystems work again when they are statically compiled
(blush)
- FIFOs are no longer optional; ``options FIFO'' removed from distributed
config files.
|
| |
|