device mapper讀書筆記

2021-06-01 06:58:11 字數 585 閱讀 2137

它通過模組化的target driver外掛程式實現io請求的過濾和重定向。本質上,就是將發往邏輯裝置的io請求**到target device,也就是對映到的多個物理裝置。

在核心中的建立過程:

呼叫核心blk_queue_make_request函式實現dm的請求佇列在dm_request,向核心註冊md塊裝置驅動;

2)呼叫dm_insert_hash將此md插入md的全域性雜湊表中

3)接收由使用者ioctl介面傳送的引數,初始化dm_table和dm_target結構。根據target型別,呼叫對應的ctl函式建立target device對應結構,再根據建立的dm_target結構更新                   dm_table維護的b樹。上述步驟完成後,現將dm_table插入md對就的全域性雜湊表中的hash_cell中

4) 建立md與dm_table之間的繫結關係

bio的**:

md接收系統塊一級子系統generic_make_request和submit_bio傳送到邏輯裝置的bio,dm根據邏輯裝置的塊大小裝置dm_target中的split_bio欄位,並根據此值將bio拆分成與邏輯裝置塊大小一樣的bio,再**。

建立device mapper快照

1 建立兩個檔案,乙個是data.img,乙個是meta.data.img dd if dev zero of tmp data.img bs 1k count 1 seek 10m dd if dev zero of tmp meta.data.img bs 1k count 1 seek 1g ...

linux系統的Device mapper機制

重要概念 struct linear c 該target device的定義相當簡單,就只包括了表示對應物理裝置的dm dev結構指標和在該物理裝置中以扇區為單位的偏移位址start。上述幾個資料結構關係如圖3所示 io流 將這些bio在本驅動內部排隊等待以後進行處理 將bio重新定向到乙個或多個t...

《Visual Studio 程式設計師箴言》讀書筆記

技巧1.1 在空白行上按ctrl c不會丟失剪貼簿的內容 工具 選項 文字編輯器 所有語言 常規 沒有選定內容時對空行應用剪下或複製命令 技巧1.2 迴圈使用剪貼簿 ctrl shift v 技巧1.3 插入空行 使用ctrl enter在上方插入一行,使用ctrl shift enter在下方插入...