drbd_req.h (drbd-9.1.8) | : | drbd_req.h (drbd-9.1.9) | ||
---|---|---|---|---|
skipping to change at line 69 | skipping to change at line 69 | |||
* When it finally has outlived its time, | * When it finally has outlived its time, | |||
* corresponding dirty bits in the resync-bitmap may be cleared or set, | * corresponding dirty bits in the resync-bitmap may be cleared or set, | |||
* it will be destroyed, | * it will be destroyed, | |||
* and completion will be signalled to the originator, | * and completion will be signalled to the originator, | |||
* with or without "success". | * with or without "success". | |||
*/ | */ | |||
enum drbd_req_event { | enum drbd_req_event { | |||
TO_BE_SUBMITTED, | TO_BE_SUBMITTED, | |||
/* XXX yes, now I am inconsistent... | NEW_NET_READ, | |||
* these are not "events" but "actions" | NEW_NET_WRITE, | |||
* oh, well... */ | NEW_NET_OOS, | |||
QUEUE_FOR_NET_WRITE, | ADDED_TO_TRANSFER_LOG, | |||
QUEUE_FOR_NET_READ, | ||||
QUEUE_FOR_SEND_OOS, | ||||
/* For an empty flush, mark that a corresponding barrier has been sent | /* For an empty flush, mark that a corresponding barrier has been sent | |||
* to this peer. This causes it to complete "successfully", even if the | * to this peer. This causes it to complete "successfully", even if the | |||
* local disk flush failed. | * local disk flush failed. | |||
* | * | |||
* Just like "real" requests, empty flushes (blkdev_issue_flush()) will | * Just like "real" requests, empty flushes (blkdev_issue_flush()) will | |||
* only see an error if neither local nor remote data is reachable. */ | * only see an error if neither local nor remote data is reachable. */ | |||
BARRIER_SENT, | BARRIER_SENT, | |||
SEND_CANCELED, | SEND_CANCELED, | |||
skipping to change at line 123 | skipping to change at line 121 | |||
* do atomic bit operations. | * do atomic bit operations. | |||
*/ | */ | |||
enum drbd_req_state_bits { | enum drbd_req_state_bits { | |||
/* | /* | |||
* Here are the possible combinations of the core net flags pending, | * Here are the possible combinations of the core net flags pending, | |||
* queued, sent, done, ok. | * queued, sent, done, ok. | |||
* | * | |||
* <none>: | * <none>: | |||
* No network required, or not yet processed. | * No network required, or not yet processed. | |||
* pending: | * pending: | |||
* Intended for this peer, but connection lost. If IO is suspended, | * Intended for this peer, but not yet queued, or connection lost. If | |||
* it will stay in this state until the connection is restored or IO | * IO is suspended, it will stay in this state until the connection | |||
* is resumed. | * is restored or IO is resumed. | |||
* pending,queued: | * pending,queued: | |||
* To be sent, on transfer log to be processed by sender. | * To be sent, on transfer log to be processed by sender. | |||
* queued: | ||||
* Queued for sending P_OUT_OF_SYNC. | ||||
* pending,sent: | * pending,sent: | |||
* Sent, expecting P_RECV_ACK (B) or P_WRITE_ACK (C). | * Sent, expecting P_RECV_ACK (B) or P_WRITE_ACK (C). | |||
* sent,ok: | * sent,ok: | |||
* Sent, implicit "ack" (A), P_RECV_ACK (B) or P_WRITE_ACK (C) received . | * Sent, implicit "ack" (A), P_RECV_ACK (B) or P_WRITE_ACK (C) received . | |||
* Still waiting for the barrier ack. | * Still waiting for the barrier ack. | |||
* master_bio may already be completed and invalidated. | * master_bio may already be completed and invalidated. | |||
* sent,done,ok: | * sent,done,ok: | |||
* Data received (for remote read, any protocol), | * Data received (for remote read, any protocol), | |||
* or finally the barrier ack has arrived. | * or finally the barrier ack has arrived. | |||
* sent,done: | * sent,done: | |||
End of changes. 3 change blocks. | ||||
11 lines changed or deleted | 7 lines changed or added |