Itu --write-mostly
, --write-behind
ditangani oleh md
pengemudi secara internal. md
menyimpan metadata, seperti bitmap tulis-maksud (yang wajib untuk fitur tulis-belakang) yang pada dasarnya mencatat data mana yang telah ditulis namun vs. data mana yang masih hilang. Ini diperlukan jika ada peristiwa kehilangan daya, ketika data belum mencapai perangkat yang sebagian besar belum ditulis. Dalam hal ini area data yang terpengaruh akan disinkronkan kembali (dalam kasus Anda baca dari SSD, tulis ke HDD).
Tetapi bagaimana itu di-cache pada level kernel?
Untuk kasus write-behind, driver md pada dasarnya menduplikasi permintaan tulis secara internal. Permintaan master write pergi ke drive utama dan memberi tahu lapisan atas "OK, saya sudah melakukan ini"; permintaan tulis yang disalin kemudian tetap berada di sisi penulisan-kebanyakan-di belakang dari RAID dan mungkin membutuhkan waktu lebih lama untuk diselesaikan, mudah-mudahan tanpa ada yang memperhatikan.
Kemudian layer raid mengambil banyak langkah untuk memastikan tidak ada data yang akan dibaca dari perangkat tulis-sebagian sementara masih ada permintaan tulis-balik dalam antrian. Mengapa data dibaca dari perangkat yang kebanyakan menulis? Yah, SSD mungkin telah gagal sehingga semua ada di sana. Ini rumit, dan menulis-balik memperkenalkan beberapa kasus sudut.
Yang mungkin juga mengapa itu hanya didukung untuk level RAID-1, bukan yang lain. Meskipun secara teori masuk akal untuk memiliki SSD pada dasarnya sebagai RAID-0 dan dua HDD paritas dalam mode tulis-balik, tidak ada dukungan untuk penulisan-di belakang RAID-6 seperti itu. Ini RAID-1 saja dan jarang digunakan bahkan di sana.
Pengaturan cache lainnya tetap tidak terpengaruh oleh ini, pada dasarnya mekanisme caching keseluruhan tidak peduli sama sekali tentang bagaimana md
driver telah mengimplementasikan hal-hal secara internal. Cache melakukan tugasnya dan md melakukan tugasnya. Jadi cache sistem file bekerja sama untuk sistem file di atas md vs sistem file di atas drive kosong. (Kenyataannya sedikit lebih rumit dari itu tetapi Anda bisa memikirkannya dengan cara ini.)