[英]Read/Write block directly to disk in linux kernel
正如標題所述,我正在尋找如何直接在Linux內核空間(繞過文件系統)中將塊讀/寫到磁盤,以及如何直接與塊IO層進行交互。
閱讀一些內核代碼后,我意識到bio是我在塊IO層中實現該目標所應使用的結構。 但是我不太了解bio的結構,也沒有弄清楚我該怎么做。
有幫助嗎? 謝謝
如果您只是在做簡單的事情,那么您真的不需要弄混BIO。 相反,您可以做的是簡單地打開塊設備( /dev/whatever
),就好像它是一個文件一樣。 內核將做正確的事情,並為您提供“薄”包裝器以進行讀/寫操作。
關於從內核空間打開文件,這里已經回答了幾個問題,就像這樣一個問題:
如果您想做更多的事情,則必須研究FS驅動程序的源代碼(在fs /子目錄中)以查找示例。
如果有人對使用Node.js感興趣,我們昨天發布了本機插件,其中包括用於打開和使用塊設備的助手: https : //github.com/ronomon/direct-io
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.