| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
the disciplines that now have the same interrupt code.
ok krw@
|
|
|
|
|
|
| |
performed.
ok krw@
|
|
|
|
|
|
|
|
|
| |
called. As a result, factor out the the sd_sync check/wakeup code and move
it to after the scsi_done() call in sr_scsi_done(). Perform the same
sd_sync check/wakeup after scsi_io_put() calls (including the addition of
some that were previously missed).
ok krw@
|
|
|
|
|
|
| |
code is sufficient.
ok krw@
|
|
|
|
|
|
| |
happen to be softraid disciplines.
ok krw@
|
|
|
|
|
|
|
|
| |
scan the sparse SCSI targets array and simplifies code. Disciplines are
now also shutdown in reverse attach order, making manually stacked softraid
volumes somewhat more practical.
ok krw@
|
| |
|
| |
|
|
|
|
|
|
|
| |
via a workq callback. Also provide a discipline specific hook that allows
it to optionally handle the final part of the workunit completion.
ok krw@
|
|
|
|
| |
ok krw@
|
|
|
|
| |
ok krw@
|
|
|
|
| |
ok krw@
|
|
|
|
| |
ok krw@
|
|
|
|
|
|
| |
along with a function that enqueues a ccb on a workunit.
ok krw@
|
|
|
|
| |
discipline data structure. To be used with an upcoming diff.
|
|
|
|
| |
ok krw@
|
|
|
|
| |
a crypto volume when it is assembling it.
|
|
|
|
| |
during volume assembly.
|
|
|
|
|
| |
from the given volume ignore the no-auto assemble flag, since the root
file system is located on it.
|
| |
|
|
|
|
|
|
| |
size of 512 bytes - any other size is not currently supported.
ok krw@
|
|
|
|
|
|
| |
handler to emphasise that it is for bio ioctls only.
Discovered the hard way by dhill@
|
|
|
|
|
|
| |
to provide useful feedback, rather than reporting an ioctl failure and
leaving the user to consult dmesg. For now we continue to print most things
to the console, even if the message is a result of an ioctl.
|
| |
|
| |
|
|
|
|
| |
prints. Also rename sr_uuid_get() to sr_uuid_generate().
|
| |
|
|
|
|
|
|
| |
any assembly. This avoids a panic when attempting to assemble a RAID 1 (or
other) volume as a RAID 0 volume. Also reorder some of the other checks and
diagnostics performed during assembly.
|
| |
|
|
|
|
| |
us to play some tricks in setroot().
|
|
|
|
|
|
| |
number of variables that are needed to detect and assemble volumes. A
sr_metadata struct can be allocated and used via the sbc_metadata
pointer, which we now do in the kernel boot probe/assembly code.
|
|
|
|
|
| |
Many thanks to Marco Peereboom for his assistance with testing and
debugging. Thanks also to Josh Grosse and Chris Jackman for testing.
|
|
|
|
|
|
|
| |
initialise both the volume and chunk metadata before the discipline
specific sd_create() function is called. The sr_meta_init_complete()
function is then called to complete the initialisation based on values
provided by sd_create().
|
|
|
|
|
|
|
|
|
| |
if we correctly read and validated the disklabel. Always check that this
flag is set before using the DUID from the disklabel.
Discussed with deraadt@
ok krw@
|
|
|
|
|
| |
cover the no redundancy/no rebuild case. Use these for the AOE, crypto and
RAID 0 disciplines.
|
|
|
|
| |
those that are needed by a specific discipline.
|
|
|
|
|
|
| |
installboot has the correct details. Also zero the boot DUID list before
populating it in installboot, preventing the DUIDs of offline chunks from
remaining around.
|
|
|
|
|
| |
metadata from the volume metadata rather than using the metadata from some
random chunk. The coerced size is gained from another online chunk.
|
|
|
|
|
|
| |
From Pedro Martelletto.
ok krw@ mikeb@
|
|
|
|
| |
coerced size rather than the physical size of another chunk.
|
| |
|
|
|
|
|
|
| |
blocks or boot loader to chunks that are not online.
ok mikeb@
|
|
|
|
|
|
| |
sd_set_chunk_state() as the new state.
ok jsing@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
map the rootduid to the DUID of the softraid volume. This means that
regardless of where the kernel is loaded from we always get the softraid
volume as the root device, providing we booted from one of its chunks.
If we boot from any other disk then the rootduid remains unchanged.
With this diff it is now possible to have the root filesystem on softraid,
however at this stage the kernel still needs to be loaded from a separate
FFS partition.
ok deraadt@
|
|
|
|
|
|
|
| |
to store the DUID of the softraid volume and each of the chunks that it
is assembled from. This allows us to correctly identify the root disk.
ok deraadt@
|
|
|
|
|
|
|
|
|
|
| |
or invalid metadata; (2) a new volume with no existing metadata; and (3)
an existing volume with metadata. This removes duplicated code and
simplifies the code path.
Also ensure that we only process the optional metadata once per volume
and not once per chunk. Move the optional metadata handler calls into
sr_ioctl_createraid().
|
|
|
|
|
|
|
|
|
|
|
| |
will allow new optional metadata types to be added without needing to
change the softraid metadata version.
Note that this commit changes the softraid metadata version, however
an upgrade from older metadata is handled automatically. A full backup
prior to upgrading is still strongly recommended.
With feedback from stsp@ and marco.
|
|
|
|
| |
metadata handling code. This will simplify upcoming changes.
|
|
|
|
| |
ok deraadt
|
|
|
|
|
|
| |
is causing problems when trying to boot sparc64 from an isp(4).
Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
|