Beberapa waktu yang lalu, ada beberapa diskusi tentang ext4 yang berpotensi meninggalkan file kosong setelah unmount yang tidak bersih, disimpulkan dengan cukup baik dalam artikel ini . Pada dasarnya, karena alokasi yang tertunda, menulis dapat disimpan dalam cache tulis untuk waktu yang lebih lama daripada interval komit default jurnal ext (5 detik).
Masalahnya tampaknya telah diperbaiki dalam tambalan yang memaksa alokasi blok dalam situasi tertentu, sehingga memaksa data ke disk setelah paling banyak 5 detik secara default.
Saya bertanya-tanya apa yang terjadi ketika aplikasi menimpa bagian file yang ada, tanpa memotong atau menambahkan file itu sendiri. Apakah itu akan dipaksa untuk disk dalam 5 detik juga?
Sepertinya situasi yang berbeda dari menambahkan ke file: saat menambahkan, ukuran file berubah, yang merupakan perubahan metadata; oleh karena itu, komit jurnal akan diperlukan dalam 5 detik, dan karena data = dipesan, data harus ditulis sebelum itu karena masalah keamanan (jika tidak, bagian dari file yang dihapus dari pengguna lain dapat muncul untuk pemilik yang ditambahkan) mengajukan).
Ketika hanya menimpa data file, tidak ada alasan mengapa penulisan data harus terjadi sebelum jurnal metadata melakukan, karena data lama milik pengguna yang sama dengan yang baru. Jadi, apakah penulisan itu terjadi sebelum komit, atau bisakah ditunda lebih lama dari interval jurnal komit? Jika ya, berapa lama?
Pembaruan: Saya tahu bahwa semua ini tidak relevan ketika melakukan hal yang benar, yaitu menggunakan fsync (). (Ini adalah alasan utama untuk semua diskusi tentang ext4 dan kehilangan data - masalahnya hanya menyangkut aplikasi yang tidak fsync (), atau tidak pada saat yang tepat.) Saya tidak menulis aplikasi sendiri, saya bertanya karena saya tidak tahu apakah semua aplikasi saya melakukan hal yang benar, dan saya ingin tahu perkiraan waktu untuk penulisan "berbahaya" semacam itu. Alasan untuk bertanya adalah driver grafis saya yang menyebabkan panik kernel secara teratur, dan saya ingin tahu apakah saya harus khawatir tentang lebih dari 5 detik terakhir dari data yang ditulis.