-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'for-3.15/drivers' of git://git.kernel.dk/linux-block
Pull block driver update from Jens Axboe: "On top of the core pull request, here's the pull request for the driver related changes for 3.15. It contains: - Improvements for msi-x registration for block drivers (mtip32xx, skd, cciss, nvme) from Alexander Gordeev. - A round of cleanups and improvements for drbd from Andreas Gruenbacher and Rashika Kheria. - A round of clanups and improvements for bcache from Kent. - Removal of sleep_on() and friends in DAC960, ataflop, swim3 from Arnd Bergmann. - Bug fix for a bug in the mtip32xx async completion code from Sam Bradshaw. - Bug fix for accidentally bouncing IO on 32-bit platforms with mtip32xx from Felipe Franciosi" * 'for-3.15/drivers' of git://git.kernel.dk/linux-block: (103 commits) bcache: remove nested function usage bcache: Kill bucket->gc_gen bcache: Kill unused freelist bcache: Rework btree cache reserve handling bcache: Kill btree_io_wq bcache: btree locking rework bcache: Fix a race when freeing btree nodes bcache: Add a real GC_MARK_RECLAIMABLE bcache: Add bch_keylist_init_single() bcache: Improve priority_stats bcache: Better alloc tracepoints bcache: Kill dead cgroup code bcache: stop moving_gc marking buckets that can't be moved. bcache: Fix moving_pred() bcache: Fix moving_gc deadlocking with a foreground write bcache: Fix discard granularity bcache: Fix another bug recovering from unclean shutdown bcache: Fix a bug recovering from unclean shutdown bcache: Fix a journalling reclaim after recovery bug bcache: Fix a null ptr deref in journal replay ...
- Loading branch information
Showing
47 changed files
with
6,603 additions
and
6,279 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
This describes the in kernel data structure for DRBD-9. Starting with | ||
Linux v3.14 we are reorganizing DRBD to use this data structure. | ||
|
||
Basic Data Structure | ||
==================== | ||
|
||
A node has a number of DRBD resources. Each such resource has a number of | ||
devices (aka volumes) and connections to other nodes ("peer nodes"). Each DRBD | ||
device is represented by a block device locally. | ||
|
||
The DRBD objects are interconnected to form a matrix as depicted below; a | ||
drbd_peer_device object sits at each intersection between a drbd_device and a | ||
drbd_connection: | ||
|
||
/--------------+---------------+.....+---------------\ | ||
| resource | device | | device | | ||
+--------------+---------------+.....+---------------+ | ||
| connection | peer_device | | peer_device | | ||
+--------------+---------------+.....+---------------+ | ||
: : : : : | ||
: : : : : | ||
+--------------+---------------+.....+---------------+ | ||
| connection | peer_device | | peer_device | | ||
\--------------+---------------+.....+---------------/ | ||
|
||
In this table, horizontally, devices can be accessed from resources by their | ||
volume number. Likewise, peer_devices can be accessed from connections by | ||
their volume number. Objects in the vertical direction are connected by double | ||
linked lists. There are back pointers from peer_devices to their connections a | ||
devices, and from connections and devices to their resource. | ||
|
||
All resources are in the drbd_resources double-linked list. In addition, all | ||
devices can be accessed by their minor device number via the drbd_devices idr. | ||
|
||
The drbd_resource, drbd_connection, and drbd_device objects are reference | ||
counted. The peer_device objects only serve to establish the links between | ||
devices and connections; their lifetime is determined by the lifetime of the | ||
device and connection which they reference. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.