簡體   English   中英

直接將塊讀/寫到Linux內核中的磁盤

[英]Read/Write block directly to disk in linux kernel

正如標題所述,我正在尋找如何直接在Linux內核空間(繞過文件系統)中將塊讀/寫到磁盤,以及如何直接與塊IO層進行交互。

閱讀一些內核代碼后,我意識到bio是我在塊IO層中實現該目標所應使用的結構。 但是我不太了解bio的結構,也沒有弄清楚我該怎么做。

有幫助嗎? 謝謝

如果您只是在做簡單的事情,那么您真的不需要弄混BIO。 相反,您可以做的是簡單地打開塊設備( /dev/whatever ),就好像它是一個文件一樣。 內核將做正確的事情,並為您提供“薄”包裝器以進行讀/寫操作。

關於從內核空間打開文件,這里已經回答了幾個問題,就像這樣一個問題:

如何在Linux內核模塊中讀取/寫入文件?

如果您想做更多的事情,則必須研究FS驅動程序的源代碼(在fs /子目錄中)以查找示例。

如果有人對使用Node.js感興趣,我們昨天發布了本機插件,其中包括用於打開和使用塊設備的助手: https : //github.com/ronomon/direct-io

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM