Age | Commit message (Collapse) | Author |
|
need to check v_usecount, the buffer queue check is sufficient.
From mickey. OK deraadt@
|
|
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
|
|
the superuser. access(2) will now only indicate success for X_OK on
non-directories if there is at least one execute bit set on the file.
OK deraadt@ thib@ otto@
|
|
with eopnotsupp() instead;
ok blambert@
|
|
one thing of note, fifofs changes in that its bmap now
sets the runp too 0, but that was an oversight in the
old code.
ok art@
|
|
init the op array functions with whatever the define was set
too.
ok dlg@,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@
|
|
ok thib and miod.
|
|
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@
|
|
ok deraadt@ millert@
|
|
SMP machines reliable. few corner cases remain, which will be
dealt with later; ok deraadt@ millert@
|
|
end; avoids bad address errors; original diff by me with cleanup by
millert@; ok millert@
|
|
mfs. OK deraadt@
|
|
sys/dev/pci/pciide.c from naddy@
|
|
OK tedu@
|
|
factor it into a new function, ffs_cgread(); and use that.
From mickey;
OK art@, toby@
|
|
ok krw@
|
|
|
|
ok beck@
|
|
otherwise just adding M_ZERO to malloc() and removing the immediately
adjacent memset(,0,).
|
|
As a side effect, this probably fixes PR5596, if the allocation
of dh_hash succeeds and the dh_blkfree fails, we jump into the
fail case, but we haven't initialized dh_hash properly, that is
filling the array with memory from the dirhash pool, but the
!= NULL check holds, since the memory hasn't been zeroed and
so we start pool_put()'ing, causing the crash in PR5596.
PR5596 debugging by pedro.
ok art@, krw@
|
|
where obvious.
|
|
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
|
|
|
|
to the condition that protects CPU_ISSUN4OR4C. While we currently define
that macro on sparc64 too, we won't in the near future.
ok miod@
|
|
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@
|
|
ok pedro@ thib@
|
|
Basically the reason why we dont do VOP_ABORTOP()'s in NFS
is that sys_rename() actually handles the garbage collection
of the pathname buffers, the calls in ufs are actually fluff
too, but will be delt with later.
ok pedro@
|
|
no binary change
|
|
mounted softdep file system, okay mickey@ beck@ art@
|
|
|
|
|