From 6f86d9cfa3b5edac72b8c6a93255eabc04236da1 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 5 May 2003 17:36:57 +0000 Subject: A few stylistic fixes. --- share/man/man4/geom.4 | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'share') diff --git a/share/man/man4/geom.4 b/share/man/man4/geom.4 index 8b8abe0..a39a133 100644 --- a/share/man/man4/geom.4 +++ b/share/man/man4/geom.4 @@ -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. -- cgit v1.1