요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
digraph conn_states {
StandAllone -> WFConnection [ label = "ioctl_set_net()" ]
WFConnection -> Unconnected [ label = "unable to bind()" ]
WFConnection -> WFReportParams [ label = "in connect() after accept" ]
WFReportParams -> StandAllone [ label = "checks in receive_param()" ]
WFReportParams -> Connected [ label = "in receive_param()" ]
WFReportParams -> WFBitMapS [ label = "sync_handshake()" ]
WFReportParams -> WFBitMapT [ label = "sync_handshake()" ]
WFBitMapS -> SyncSource [ label = "receive_bitmap()" ]
WFBitMapT -> SyncTarget [ label = "receive_bitmap()" ]
SyncSource -> Connected
SyncTarget -> Connected
SyncSource -> PausedSyncS
SyncTarget -> PausedSyncT
PausedSyncS -> SyncSource
PausedSyncT -> SyncTarget
Connected -> WFConnection [ label = "* on network error" ]
}
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
연결 협상과 동기화 상태 전이
1-18이 DOT 그래프는 DRBD 8 연결의 상태 기계를 나타냅니다. 원문의 상태 식별자 `StandAllone` 철자는 그대로 보존합니다. `ioctl_set_net()` 호출로 연결 대기를 시작하고, 연결 수락 뒤 매개변수를 교환한 다음 일반 연결 또는 비트맵 기반 동기화 경로로 들어갑니다.
`WFReportParams`에서 `receive_param()` 검사가 실패하면 `StandAllone`으로 돌아가고, 정상 협상은 `Connected`로 갑니다. 동기화 핸드셰이크는 로컬 역할에 따라 `WFBitMapS` 또는 `WFBitMapT`로 갈라지며, 비트맵 수신 뒤 각각 `SyncSource` 또는 `SyncTarget`이 됩니다.
동기화 소스와 대상은 완료되면 `Connected`가 되며, 일시정지 상태 `PausedSyncS`·`PausedSyncT`로 들어갔다가 같은 역할로 복귀할 수 있습니다. 연결된 상태에서 네트워크 오류가 발생하면 `WFConnection`으로 돌아가 재연결을 기다립니다.
협상, 소스·대상 동기화, 일시정지와 네트워크 오류 복귀 경로를 분리해 표시합니다.
DOT 원문의 모든 간선과 라벨을 빠짐없이 한국어 의미와 함께 보존합니다.
digraph conn_states {
StandAllone -> WFConnection [ label = "ioctl_set_net()" ]
WFConnection -> Unconnected [ label = "unable to bind()" ]
WFConnection -> WFReportParams [ label = "in connect() after accept" ]
WFReportParams -> StandAllone [ label = "checks in receive_param()" ]
WFReportParams -> Connected [ label = "in receive_param()" ]
WFReportParams -> WFBitMapS [ label = "sync_handshake()" ]
WFReportParams -> WFBitMapT [ label = "sync_handshake()" ]
WFBitMapS -> SyncSource [ label = "receive_bitmap()" ]
WFBitMapT -> SyncTarget [ label = "receive_bitmap()" ]
SyncSource -> Connected
SyncTarget -> Connected
SyncSource -> PausedSyncS
SyncTarget -> PausedSyncT
PausedSyncS -> SyncSource
PausedSyncT -> SyncTarget
Connected -> WFConnection [ label = "* on network error" ]
}
요약·해설
conn-states-8.dot:1-18DRBD 8의 연결 협상, 비트맵 교환, 소스·대상 동기화, 일시정지와 네트워크 오류 복귀 상태를 나타내는 DOT 상태도입니다.