假設我們有FILE_SIZE
字節的文件,並且:正在覆蓋ext4上的一個小文件原子嗎?
FILE_SIZE <= min(page_size, physical_block_size)
;- 文件大小永不改變(即從不執行
truncate()
或附加write()
);- 這種寫入是原子相對於併發讀取:
pwrite(fd, buf, FILE_SIZE, 0);
- 這種寫入是原子相對於併發讀取:
是它ext4
即保證:
文件是通過使用完全地覆蓋它的內容僅改性?
這樣的寫入是關於系統崩潰的事務?
(即崩潰後該文件的內容是完全從以前的一些寫,我們永遠不會看到一個部分寫入或空文件)
是第二真:
- 與
data=ordered
? 與
data=journal
或備選啓用單個文件的日記功能?(使用
ioctl(fd, EXT4_IOC_SETFLAGS, EXT4_JOURNAL_DATA_FL)
)時
physical_block_size < FILE_SIZE <= page_size
?
我發現related question哪個環節從2011年起然而discussion:
- 我沒有找到我的問題
2
一個明確的答案。 - 我想知道,如果以上情況屬實,是不是記錄了某處?
感謝答案。 – gavv