refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -14,11 +14,11 @@
"long_description": "위에서 아래로 읽는다. 맨 위 PostgreSQL 이 fsync() 를 부르고 그 요구가 Guest Filesystem 으로 내려간다. Guest Block Layer 에서 FLUSH 등의 요청으로 바뀌고, virtio-blk 를 지나 VM 경계를 넘어 QEMU / Backend 로 간다. 거기서 Host Storage Stack 을 지나 맨 아래 Physical Storage 까지 그 의미가 전달되어야 완료가 성립한다. 여섯 번 손이 바뀌는 동안 한 곳이라도 그 의미를 지키지 않으면 게스트가 받은 완료 응답이 거짓이 된다. write() 완료와 writeback 완료, fsync/flush 완료, 전원 장애에도 안전한 durability 가 서로 다르다는 구분은 본문의 코드블록이 맡는다.",
"source_context": {
"document": "docs/virtualization/final/document.md",
"document_sha256": "181e2b3cc8a45bae81e7e8193d026937c4d586ae4495d3b2c323eb7e6abcfadd",
"document_sha256": "8c4ecc64c8cea9a4450ed7131fdd9cb2048dc092b66cd969f6346ed77887c210",
"anchor": {
"kind": "heading",
"value": "150. `fsync()`가 필요한 이유",
"line": 6723
"line": 6736
}
},
"composition": {
@@ -45,12 +45,12 @@
"description": "필요한 시점에 fsync() 를 불러 영속성 경계까지 반영을 요청하는 게스트 프로세스.",
"evidence": [
{
"start_line": 6742,
"end_line": 6742
"start_line": 6755,
"end_line": 6755
},
{
"start_line": 6726,
"end_line": 6734
"start_line": 6739,
"end_line": 6747
}
],
"assumption": false
@@ -64,8 +64,8 @@
"description": "fsync() 요구를 처음 받는 게스트 파일시스템.",
"evidence": [
{
"start_line": 6746,
"end_line": 6746
"start_line": 6759,
"end_line": 6759
}
],
"assumption": false
@@ -79,8 +79,8 @@
"description": "요구를 FLUSH 등의 block 요청으로 바꾸는 계층.",
"evidence": [
{
"start_line": 6749,
"end_line": 6751
"start_line": 6762,
"end_line": 6764
}
],
"assumption": false
@@ -94,8 +94,8 @@
"description": "그 요청을 VM 경계 너머로 옮기는 게스트 driver.",
"evidence": [
{
"start_line": 6753,
"end_line": 6753
"start_line": 6766,
"end_line": 6766
}
],
"assumption": false
@@ -109,12 +109,12 @@
"description": "요청을 받아 호스트 쪽 파일 I/O 나 block I/O 로 잇는 자리.",
"evidence": [
{
"start_line": 6756,
"end_line": 6756
"start_line": 6769,
"end_line": 6769
},
{
"start_line": 6686,
"end_line": 6686
"start_line": 6699,
"end_line": 6699
}
],
"assumption": false
@@ -128,12 +128,12 @@
"description": "호스트 Page Cache 와 파일시스템, Block Layer 가 놓인 구간.",
"evidence": [
{
"start_line": 6759,
"end_line": 6759
"start_line": 6772,
"end_line": 6772
},
{
"start_line": 6688,
"end_line": 6692
"start_line": 6701,
"end_line": 6705
}
],
"assumption": false
@@ -148,12 +148,12 @@
"description": "요구가 여기까지 전달되어야 정전 이후 생존을 말할 수 있다.",
"evidence": [
{
"start_line": 6762,
"end_line": 6765
"start_line": 6775,
"end_line": 6778
},
{
"start_line": 6729,
"end_line": 6729
"start_line": 6742,
"end_line": 6742
}
],
"assumption": false
@@ -170,8 +170,8 @@
"order": 1,
"evidence": [
{
"start_line": 6744,
"end_line": 6746
"start_line": 6757,
"end_line": 6759
}
],
"assumption": false
@@ -186,8 +186,8 @@
"order": 2,
"evidence": [
{
"start_line": 6746,
"end_line": 6749
"start_line": 6759,
"end_line": 6762
}
],
"assumption": false
@@ -202,8 +202,8 @@
"order": 3,
"evidence": [
{
"start_line": 6751,
"end_line": 6753
"start_line": 6764,
"end_line": 6766
}
],
"assumption": false
@@ -218,8 +218,8 @@
"order": 4,
"evidence": [
{
"start_line": 6753,
"end_line": 6756
"start_line": 6766,
"end_line": 6769
}
],
"assumption": false
@@ -234,8 +234,8 @@
"order": 5,
"evidence": [
{
"start_line": 6756,
"end_line": 6759
"start_line": 6769,
"end_line": 6772
}
],
"assumption": false
@@ -250,8 +250,8 @@
"order": 6,
"evidence": [
{
"start_line": 6759,
"end_line": 6765
"start_line": 6772,
"end_line": 6778
}
],
"assumption": false