| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
anything else.)
When creating a new md, g_waitidle() to make sure the /dev entry gets
created before mdconfig(8) returns, *but only if it's not a preloaded
md*.
Approved by: re (kensmith)
Notes:
svn path=/stable/5/; revision=134653
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
mdconfig returning before the device's name appears in /dev but it seems
to cause a worse problem. When booting the installation media (CD or
boot floppies) the system hangs after the device probes, at the point
it should be trying to mount a MD-based filesystem as its root filesystem.
Backing out this patch solves that problem, allowing it to proceed to
the sysinstall menu.
Approved by: re (rwatson)
Notes:
svn path=/stable/5/; revision=134452
|
| |
|
|
|
|
|
|
|
| |
memory disks appear in /dev before mdconfig(8) returns.
Approved by: re (kensmith)
Notes:
svn path=/stable/5/; revision=134306
|
| |
|
|
| |
Notes:
svn path=/head/; revision=133318
|
| |
|
|
|
|
|
| |
Use default initialization of geom methods.
Notes:
svn path=/head/; revision=133313
|
| |
|
|
|
|
|
|
|
|
|
| |
for unknown events.
A number of modules return EINVAL in this instance, and I have left
those alone for now and instead taught MOD_QUIESCE to accept this
as "didn't do anything".
Notes:
svn path=/head/; revision=132199
|
| |
|
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
Notes:
svn path=/head/; revision=130585
|
| |
|
|
|
|
|
|
|
|
| |
is less than DEV_BSIZE (512) bytes.
Reported by: Mike Bristow <mike@urgle.com>
Approved by: phk
Notes:
svn path=/head/; revision=129379
|
| |
|
|
|
|
|
| |
Eagle Eyes: bde
Notes:
svn path=/head/; revision=128044
|
| |
|
|
|
|
|
|
|
|
| |
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.
Approved by: core, peter, alc, rwatson
Notes:
svn path=/head/; revision=128019
|
| |
|
|
|
|
|
|
|
|
| |
should not. Add a new parameter so that the caller can specify which is
the case.
Reported by: dillon
Notes:
svn path=/head/; revision=127788
|
| |
|
|
|
|
|
|
|
|
|
|
| |
completely understand], md_takeroot() runs before md_preloaded(),
rendering both useless.
As a fix, move the body (effectively one line!) of md_takeroot()
into md_preloaded(), and get rid of the stuff that has become useless.
Bug and fix reported 10 days ago on -current, no reply.
Notes:
svn path=/head/; revision=127691
|
| |
|
|
|
|
|
| |
- Apply some style fixes to mdstart_swap().
Notes:
svn path=/head/; revision=127211
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mappings required by mdstart_swap(). On i386, if the ephemeral mapping
is already in the sf_buf mapping cache, a swap-backed md performs
similarly to a malloc-backed md. Even if the ephemeral mapping is not
cached, this implementation is still faster. On 64-bit platforms, this
change has the effect of using the direct virtual-to-physical mapping,
avoiding ephemeral mapping overheads, such as TLB shootdowns on SMPs.
On a 2.4GHz, 400MHz FSB P4 Xeon configured with 64K sf_bufs and
"mdmfs -S -o async -s 128m md /mnt"
before:
dd if=/dev/md0 of=/dev/null bs=64k
134217728 bytes transferred in 0.430923 secs (311465697 bytes/sec)
after with cold sf_buf cache:
dd if=/dev/md0 of=/dev/null bs=64k
134217728 bytes transferred in 0.367948 secs (364773576 bytes/sec)
after with warm sf_buf cache:
dd if=/dev/md0 of=/dev/null bs=64k
134217728 bytes transferred in 0.252826 secs (530870010 bytes/sec)
malloc-backed md:
dd if=/dev/md0 of=/dev/null bs=64k
134217728 bytes transferred in 0.253126 secs (530240978 bytes/sec)
Notes:
svn path=/head/; revision=127182
|
| |
|
|
| |
Notes:
svn path=/head/; revision=126935
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On vnode backed md(4) devices over a certain, currently undetermined
size relative to the buffer cache our "lemming-syncer" can provoke
a buffer starvation which puts the md thread to sleep on wdrain.
This generally tends to grind the entire system to a stop because the
event that is supposed to wake up the thread will not happen until a fair
bit of the piled up I/O requests in the system finish, and since a lot
of those are on a md(4) vnode backed device which is currently waiting
on wdrain until a fair amount of the piled up ... you get the picture.
The cure is to issue all VOP_WRITES on the vnode backing the device
with IO_SYNC.
In addition to more closely emulating a real disk device with a
non-lying write-cache, this makes the writes exempt from rate-limited
(there to avoid starving the buffer cache) and consequently prevents
the deadlock.
Unfortunately performance takes a hit.
Add "async" option to give people who know what they are doing the
old behaviour.
Notes:
svn path=/head/; revision=126821
|
| |
|
|
|
|
|
|
|
| |
Giant just to call kthread_exit().
Requested by: many
Notes:
svn path=/head/; revision=126674
|
| |
|
|
| |
Notes:
svn path=/head/; revision=126507
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
swap-backed memory disks. This reduces filesystem allocation overhead
and makes swap-backed memory disks compatible with broken code (dd,
for example) which expects to see 512 byte sectors. The size of a
swap-backed memory disk must still be a multiple of the page size.
When performing page-aligned operations, this change has zero
performance impact.
Reviewed by: phk
Approved by: rwatson (mentor)
Notes:
svn path=/head/; revision=126408
|
| |
|
|
|
|
|
|
|
|
|
| |
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
Notes:
svn path=/head/; revision=126080
|
| |
|
|
|
|
|
| |
for malloc backed devices.
Notes:
svn path=/head/; revision=124421
|
| |
|
|
|
|
|
| |
Retire md(4)'s static major number.
Notes:
svn path=/head/; revision=123521
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the "old" SYSINIT. This makes sure things happen in the right order.
XXX: md(4) needs to be fully geom-ified and in particluar /dev/md.ctl
should be abandonded for the GEOM OaM api.
Approved by: re@
Notes:
svn path=/head/; revision=122889
|
| |
|
|
| |
Notes:
svn path=/head/; revision=121203
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
provide no methods does not make any sense, and is not used by any
driver.
It is a pretty hard to come up with even a theoretical concept of
a device driver which would always fail open and close with ENODEV.
Change the defaults to be nullopen() and nullclose() which simply
does nothing.
Remove explicit initializations to these from the drivers which
already used them.
Notes:
svn path=/head/; revision=120506
|
| |
|
|
|
|
|
|
|
|
| |
ushort. In most of these files, there was a mixture of both styles and
this change just makes them self-consistent.
Requested by: bde (kern_ktrace.c)
Notes:
svn path=/head/; revision=118607
|
| |
|
|
|
|
|
| |
ways, and drop the need for vm_pager_strategy().
Notes:
svn path=/head/; revision=118467
|
| |
|
|
| |
Notes:
svn path=/head/; revision=118094
|
| |
|
|
|
|
|
|
|
| |
deal with any more.
Spotted by: "Darren Freestone" <df@cops.org>
Notes:
svn path=/head/; revision=116682
|
| |
|
|
| |
Notes:
svn path=/head/; revision=115468
|
| |
|
|
|
|
|
|
|
| |
deadlocks with vnode backed md(4) devices because md now uses a
kthread to run the bio requests instead of doing it directly from
the bio down path.
Notes:
svn path=/head/; revision=115456
|
| |
|
|
|
|
|
|
|
|
| |
vm object. (vm_pager_deallocate() does not, in fact, destroy a vm object.)
Approved by: re (scottl)
Reviewed by: phk
Notes:
svn path=/head/; revision=115060
|
| |
|
|
| |
Notes:
svn path=/head/; revision=114497
|
| |
|
|
|
|
|
| |
testting of GEOM.
Notes:
svn path=/head/; revision=113289
|
| |
|
|
| |
Notes:
svn path=/head/; revision=113032
|
| |
|
|
|
|
|
|
|
|
|
| |
Retain the mistake of not updating the devstat API for now.
Spell bioq_disksort() consistently with the remaining bioq_*().
#include <geom/geom_disk.h> where this is more appropriate.
Notes:
svn path=/head/; revision=112946
|
| |
|
|
| |
Notes:
svn path=/head/; revision=112944
|
| |
|
|
| |
Notes:
svn path=/head/; revision=112827
|
| |
|
|
|
|
|
|
|
| |
needlessly.
Detected by: rwatsons EvilMalloc(9)
Notes:
svn path=/head/; revision=112702
|
| |
|
|
| |
Notes:
svn path=/head/; revision=112555
|
| |
|
|
|
|
|
|
| |
%j in printfs, so put a newsted include in <sys/systm.h> where the printf
prototype lives and save everybody else the trouble.
Notes:
svn path=/head/; revision=112367
|
| |
|
|
|
|
|
|
|
|
|
| |
in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.
Notes:
svn path=/head/; revision=111979
|
| |
|
|
| |
Notes:
svn path=/head/; revision=111818
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
branches:
Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.
This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.
Approved by: re(scottl)
Notes:
svn path=/head/; revision=111815
|
| |
|
|
|
|
|
| |
Approved by: trb
Notes:
svn path=/head/; revision=111119
|
| |
|
|
|
|
|
| |
the case.
Notes:
svn path=/head/; revision=110695
|
| |
|
|
| |
Notes:
svn path=/head/; revision=110096
|
| |
|
|
|
|
|
|
|
|
|
| |
devices.
We use the md_pad[] array and if there are more units than its size the
last returned unit number will be -1, but the number of units returned
is correct.
Notes:
svn path=/head/; revision=109929
|
| |
|
|
|
|
|
| |
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
Notes:
svn path=/head/; revision=109623
|
| |
|
|
|
|
|
| |
Stumbled on by: bde
Notes:
svn path=/head/; revision=109192
|