mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
A few stylistic fixes.
This commit is contained in:
parent
2fe6ac6c60
commit
d773aebd76
1 changed files with 11 additions and 10 deletions
|
|
@ -41,12 +41,12 @@
|
|||
.Nm GEOM
|
||||
.Nd modular disk I/O request transformation framework.
|
||||
.Sh DESCRIPTION
|
||||
The GEOM framework provides an infrastructure in which modules
|
||||
The GEOM framework provides an infrastructure in which "classes"
|
||||
can perform transformations on disk I/O requests on their path from
|
||||
the upper kernel to the device drivers and back.
|
||||
.Pp
|
||||
Transformations in a GEOM context range from the simple geometric
|
||||
displacement performed in typical disklabel modules over RAID
|
||||
displacement performed in typical disk partitioning modules over RAID
|
||||
algorithms and device multipath resolution to full blown cryptographic
|
||||
protection of the stored data.
|
||||
.Pp
|
||||
|
|
@ -134,7 +134,7 @@ improve the overall flexibility.
|
|||
.Pp
|
||||
.Em TASTING
|
||||
is a process that happens whenever a new class or new provider
|
||||
is created and it is the class' chance to automatically configure an
|
||||
is created and it provides the class a chance to automatically configure an
|
||||
instance on providers, which it recognize as its own.
|
||||
A typical example is the MBR disk-partition class which will look for
|
||||
the MBR table in the first sector and if found and validated it will
|
||||
|
|
@ -164,7 +164,7 @@ When a geom orphans a provider, all future I/O requests will
|
|||
"bounce" on the provider with an error code set by the geom. Any
|
||||
consumers attached to the provider will receive notification about
|
||||
the orphanization when the eventloop gets around to it, and they
|
||||
need to take appropriate action at that time.
|
||||
can take appropriate action at that time.
|
||||
.Pp
|
||||
A geom which came into being as a result of a normal taste operation
|
||||
should selfdestruct unless it has a way to keep functioning lacking
|
||||
|
|
@ -213,7 +213,7 @@ flexibility and robustness in handling disappearing devices.
|
|||
.Pp
|
||||
The one absolutely crucial detail to be aware is that if the
|
||||
device driver does not return all I/O requests, the tree will
|
||||
not unravel and the geom event loop will stall.
|
||||
not unravel.
|
||||
.Pp
|
||||
.Em SPOILING
|
||||
is a special case of orphanization used to protect
|
||||
|
|
@ -229,6 +229,7 @@ Now imagine the case where "da0" is opened for writing and those
|
|||
data structures are modified or overwritten: Now the geoms would
|
||||
be operating on stale metadata unless some notification system
|
||||
can inform them otherwise.
|
||||
.Pp
|
||||
To avoid this situation, when the open of "da0" for write happens,
|
||||
all attached consumers are told about this, and geoms like
|
||||
MBR and BSD will selfdestruct as a result.
|
||||
|
|
@ -245,11 +246,11 @@ the requested exclusive bit would render it impossible to open a
|
|||
path through the MBR geom while "da0" is open for writing.
|
||||
.Pp
|
||||
From this it also follows that changing the size of open geoms can
|
||||
only be done through their cooperation.
|
||||
only be done with their cooperation.
|
||||
.Pp
|
||||
Finally: the spoiling only happens when the write count goes from
|
||||
zero to non-zero and the retasting only when the write count goes
|
||||
back to zero.
|
||||
from non-zero to zero.
|
||||
.Pp
|
||||
.Em INSERT/DELETE
|
||||
are a very special operation which allows a new geom
|
||||
|
|
@ -294,8 +295,8 @@ own consumer.
|
|||
Note that cloning the struct bio does not involve cloning the
|
||||
actual data area specified in the IO request.
|
||||
.Pp
|
||||
In total five different IO requests exist in GEOM: read, write,
|
||||
delete, format, get attribute, and set attribute.
|
||||
In total four different IO requests exist in GEOM: read, write,
|
||||
delete, and get attribute.
|
||||
.Pp
|
||||
Read and write are self explanatory.
|
||||
.Pp
|
||||
|
|
@ -314,7 +315,7 @@ geoms in the graph. If "secure delete" semantics are required, a
|
|||
geom should be pushed which converts delete indications into (a
|
||||
sequence of) write requests.
|
||||
.Pp
|
||||
Get attribute and set attribute supports inspection and manipulation
|
||||
Get attribute supports inspection and manipulation
|
||||
of out-of-band attributes on a particular provider or path.
|
||||
Attributes are named by ascii strings and they will be discussed in
|
||||
a separate section below.
|
||||
|
|
|
|||
Loading…
Reference in a new issue