~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/blockdev/drbd/data-structure-v9.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/blockdev/drbd/data-structure-v9.rst (Architecture sparc) and /Documentation/admin-guide/blockdev/drbd/data-structure-v9.rst (Architecture i386)


  1 ================================                    1 ================================
  2 kernel data structure for DRBD-9                    2 kernel data structure for DRBD-9
  3 ================================                    3 ================================
  4                                                     4 
  5 This describes the in kernel data structure fo      5 This describes the in kernel data structure for DRBD-9. Starting with
  6 Linux v3.14 we are reorganizing DRBD to use th      6 Linux v3.14 we are reorganizing DRBD to use this data structure.
  7                                                     7 
  8 Basic Data Structure                                8 Basic Data Structure
  9 ====================                                9 ====================
 10                                                    10 
 11 A node has a number of DRBD resources.  Each s     11 A node has a number of DRBD resources.  Each such resource has a number of
 12 devices (aka volumes) and connections to other     12 devices (aka volumes) and connections to other nodes ("peer nodes"). Each DRBD
 13 device is represented by a block device locall     13 device is represented by a block device locally.
 14                                                    14 
 15 The DRBD objects are interconnected to form a      15 The DRBD objects are interconnected to form a matrix as depicted below; a
 16 drbd_peer_device object sits at each intersect     16 drbd_peer_device object sits at each intersection between a drbd_device and a
 17 drbd_connection::                                  17 drbd_connection::
 18                                                    18 
 19   /--------------+---------------+.....+------     19   /--------------+---------------+.....+---------------\
 20   |   resource   |    device     |     |    de     20   |   resource   |    device     |     |    device     |
 21   +--------------+---------------+.....+------     21   +--------------+---------------+.....+---------------+
 22   |  connection  |  peer_device  |     |  peer     22   |  connection  |  peer_device  |     |  peer_device  |
 23   +--------------+---------------+.....+------     23   +--------------+---------------+.....+---------------+
 24   :              :               :     :           24   :              :               :     :               :
 25   :              :               :     :           25   :              :               :     :               :
 26   +--------------+---------------+.....+------     26   +--------------+---------------+.....+---------------+
 27   |  connection  |  peer_device  |     |  peer     27   |  connection  |  peer_device  |     |  peer_device  |
 28   \--------------+---------------+.....+------     28   \--------------+---------------+.....+---------------/
 29                                                    29 
 30 In this table, horizontally, devices can be ac     30 In this table, horizontally, devices can be accessed from resources by their
 31 volume number.  Likewise, peer_devices can be      31 volume number.  Likewise, peer_devices can be accessed from connections by
 32 their volume number.  Objects in the vertical      32 their volume number.  Objects in the vertical direction are connected by double
 33 linked lists.  There are back pointers from pe     33 linked lists.  There are back pointers from peer_devices to their connections a
 34 devices, and from connections and devices to t     34 devices, and from connections and devices to their resource.
 35                                                    35 
 36 All resources are in the drbd_resources double     36 All resources are in the drbd_resources double-linked list.  In addition, all
 37 devices can be accessed by their minor device      37 devices can be accessed by their minor device number via the drbd_devices idr.
 38                                                    38 
 39 The drbd_resource, drbd_connection, and drbd_d     39 The drbd_resource, drbd_connection, and drbd_device objects are reference
 40 counted.  The peer_device objects only serve t     40 counted.  The peer_device objects only serve to establish the links between
 41 devices and connections; their lifetime is det     41 devices and connections; their lifetime is determined by the lifetime of the
 42 device and connection which they reference.        42 device and connection which they reference.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php