Age | Commit message (Collapse) | Author |
|
ok oga
|
|
abusing the DIP() macro which is an rvalue and can't be used
as an lvalue. No functional changes.
ok tedu@ pedro@
|
|
No binary change.
ok tedu@
My 1000th commit!
|
|
getpagesize() elsewhere. otto, please fix correctly after
|
|
automatic symbol that has this information. PAGE_SIZE is simply not
portable, or even fixed on some systems.
ok otto
|
|
millert@
|
|
flag to the pool_get call.
ok art@, krw@
|
|
512) bytes; ffs is inextricably tied to using b_blkno and disklabel
always uses sectorsize units.
Thus use DEV_BSIZE units for all fields describing ffs filesystems
and convert to/from sectors where required. This enables the creation
and use of ffs filesystems on non-512 byte sectorsize devices.
This diff allows i386 and sgi (the two test platforms) to find
disklabels that are not on a sectorsize boundary. Same change to
further archs coming.
This is a no-op on 512-byte sectorsize devices.
This work triggered by jsing@'s need to create ffs filesystems on
sgi cdroms so we can create cdrom install media for sgi.
sgi testing by jsing@
ok jsing@ pedro@ "looks sane" beck@ weingart@
|
|
block# too ensure proper casting.
From FreeBSD;
ok miod@, pedro@, blambert@
|
|
|
|
|
|
proper casts to ensure the result is not truncated.
From FreeBSD via NetBSD. ok thib@
|
|
mfs is using the ffs code and its the same object it would make no sense
having two seperate pools...
ok art@
|
|
conversions that should shave a few bytes off the kernel.
ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer
FOO|BAR''; thanks for looking.
|
|
ok thib beck art
|
|
file copies to nfsv2 causes the system to eventually peg the console.
On the console ^T indicates that the load is increasing rapidly, ddb
indicates many calls to getbuf, there is some very slow nfs traffic
making none (or extremely slow) progress. Eventually some machines
seize up entirely.
|
|
1) remove multiple size queues, introduced as a stopgap.
2) decouple pages containing data from their mappings
3) only keep buffers mapped when they actually have to be mapped
(right now, this is when buffers are B_BUSY)
4) New functions to make a buffer busy, and release the busy flag
(buf_acquire and buf_release)
5) Move high/low water marks and statistics counters into a structure
6) Add a sysctl to retrieve buffer cache statistics
Tested in several variants and beat upon by bob and art for a year. run
accidentally on henning's nfs server for a few months...
ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
|
|
with eopnotsupp() instead;
ok blambert@
|
|
so ratelimit the messages to about once every 2secs.
ok dlg@ (who also pointed out me missing 'static' in the timeval decls.)
"sounds good to me" deraadt@
|
|
and add some to be able to support statvfs(2). Do the compat dance
to provide backward compatibility. ok thib@ miod@
|
|
groups, it is possible that fpg * ncg overflows an int. Problem
seen by jared rr spiegel while playing with very small fragments
on a large disk. ok krw@ millert@
|
|
from Pedro Martelleto. Two things remain: the on-disk quota
structures are still 32-bit and statfs does not do 64-bit numbers
yet. ok deraadt@
|
|
sys/dev/pci/pciide.c from naddy@
|
|
factor it into a new function, ffs_cgread(); and use that.
From mickey;
OK art@, toby@
|
|
ok krw@
|
|
Fixes a couple cases where atime was being updated even when the
filesystem was mounted with the noatime option.
Adapted from similar placement in FreeBSD and NetBSD.
Tested by myself and naddy@
|
|
make sure that theres a minimum amount of free blocks in that cylinder
group by tweaking the minbfree calculation. Without this, cylinder groups
with no free blocks could be chosen which resaults in expensive searches
for free blocks each time a new file is created in the directory.
Tweak the calculation of minifree (minimum free inodes) in the same
way. Also decrease the maxcontigdirs as the file system fills up to
lessen the chance of directory clusters overflowing the available
space in the cylinder group.
From FreeBSD (Rev 1.116 of sys/ufs/ffs/ffs_alloc.c);
ok miod@
|
|
and VOP_CLOSE() since both of them expected it too be locked.
ok art@
|
|
eyeballed and ok dlg@
|
|
we'll just randomly brelse a random block that might or might no have
been the block that failed. Which wouldn't be necessary anyway since
bwrite releases the block wether the write succeeded or not. And if
someone won the race for that block (perfectly possible since we're
sleeping in this function) we'll just release a live block under his
feet.
beck@ ok
|
|
Propagate the wait flag from fsync down to softdep_fsync_mountdev()
and do not perform synchronous sync there is no wait requested by
skipping the drain_output() call. This fixes a problem where
update kthread would sleep forever on some vnode since work is created
faster than it can be flushed.
OK deraadt@
|
|
clusteralloc();
From mickey; ok pedro@
|
|
mounted softdep file system, okay mickey@ beck@ art@
|
|
"ap = v" comments in under 8 seconds, so it must be ok. and it compiles
too.
|
|
|
|
|
|
|
|
|
|
|
|
the fs remains dirty. ok pedro@
|
|
Okay otto@ millert@ krw@ beck@ thib@
|
|
|
|
deraadt@ dlg@.
|
|
This was part of the ffs2 changes but was not committed earlier in
order to make the userland and kernel changes independent.
NOTE: the change to newfs require an updated fs.h; building an
updated newfs with the old fs.h may result in a broken filesystem.
OK otto@
|
|
|
|
and should not have its own MOUNT_XXX define.
|
|
architectures, CGSIZE() was returning something sligthly over one block.
The 'new' fsck would round this value up to a fragment boundary, and end
up trying to access memory beyond allocated space. From mickey@, okay
pedro@, millert@ and otto@.
|
|
since time_t will have to be crank to 64 bits at some point in the
future. OK pedro@
|
|
messages are consistent, from mickey@, okay pedro@
|
|
multiple defines all over;
ok tedu@
|