mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
rbd: document rbd_spec structure
I promised Josh I would document whether there were any restrictions needed for accessing fields of an rbd_spec structure. This adds a big block of comments that documents the structure and how it is used--including the fact that we don't attempt to synchronize access to it. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: David Zafman <david.zafman@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
c3acb18196
commit
c66c6e0c0b
@ -119,7 +119,26 @@ struct rbd_image_header {
|
||||
* An rbd image specification.
|
||||
*
|
||||
* The tuple (pool_id, image_id, snap_id) is sufficient to uniquely
|
||||
* identify an image.
|
||||
* identify an image. Each rbd_dev structure includes a pointer to
|
||||
* an rbd_spec structure that encapsulates this identity.
|
||||
*
|
||||
* Each of the id's in an rbd_spec has an associated name. For a
|
||||
* user-mapped image, the names are supplied and the id's associated
|
||||
* with them are looked up. For a layered image, a parent image is
|
||||
* defined by the tuple, and the names are looked up.
|
||||
*
|
||||
* An rbd_dev structure contains a parent_spec pointer which is
|
||||
* non-null if the image it represents is a child in a layered
|
||||
* image. This pointer will refer to the rbd_spec structure used
|
||||
* by the parent rbd_dev for its own identity (i.e., the structure
|
||||
* is shared between the parent and child).
|
||||
*
|
||||
* Since these structures are populated once, during the discovery
|
||||
* phase of image construction, they are effectively immutable so
|
||||
* we make no effort to synchronize access to them.
|
||||
*
|
||||
* Note that code herein does not assume the image name is known (it
|
||||
* could be a null pointer).
|
||||
*/
|
||||
struct rbd_spec {
|
||||
u64 pool_id;
|
||||
|
Loading…
x
Reference in New Issue
Block a user