日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

二 zfs文件系統(tǒng)架構(gòu)解讀-接口之探究

下面這個(gè)圖將貫穿始終:
這里,重點(diǎn)討論用戶層的JNI和libzfs
JNI (Java Native Interface)是Java本地接口,本地方法被編譯進(jìn)動(dòng)態(tài)鏈接庫(kù),在運(yùn)行時(shí)由Java虛擬機(jī)載入 。
在上面的圖中,libzfs是Solaris中實(shí)現(xiàn)ZFS的本地庫(kù),而JNI是libzfs的Java封裝,其目的是讓用戶以更加友好的方式使用ZFS 。有了這個(gè)庫(kù),用戶就可以方便地創(chuàng)建一個(gè)新的文件系統(tǒng):
LibZFS zfs = new LibZFS();
ZFSObject newFS = zfs.create("rpool/kohsuke/test", ZFSType.FILESYSTEM);
newFS.mount();
... 或者撤銷:
【二 zfs文件系統(tǒng)架構(gòu)解讀-接口之探究】ZFSObject fs = zfs.open("rpool/kohsuke/test");fs.unmount();fs.destory();
當(dāng)然,基于libzfs,所做的事情遠(yuǎn)不止這些,還可以查詢文件系統(tǒng)信息,創(chuàng)建快照,回滾(roll back等等) 。
更多的信息參看:https://zfs.dev.java.net/
它是應(yīng)用程序與 ZFS 內(nèi)核模塊打交道的主要接口 。此庫(kù)為訪問(wèn)和處理存儲(chǔ)池和文件系統(tǒng)提供了一種統(tǒng)一的、基于對(duì)象的機(jī)制(想象一下把用戶解放出來(lái)的感覺(jué)) 。其中與內(nèi)核通信的基礎(chǔ)機(jī)制是系統(tǒng)調(diào)用調(diào)用 ioctl(2) 。libzfs的源代碼可以在 usr/src/lib/libzfs 中找到 。它包含以下文件:
libzfs_dataset.c 用于處理數(shù)據(jù)集的主要接口libzfs_pool.c 處理存儲(chǔ)池的主要接口libzfs_changelist.c 在子級(jí)中傳播屬性改變的實(shí)用程序libzfs_config.c 讀取和處理存儲(chǔ)池配置信息libzfs_graph.c 為數(shù)據(jù)集構(gòu)建相關(guān)列表libzfs_import.c 搜索和導(dǎo)入存儲(chǔ)池libzfs_mount.c 掛載、取消掛載和共享數(shù)據(jù)集 。libzfs_status.c 根據(jù)存儲(chǔ)池狀態(tài)鏈接到 FMA 知識(shí)庫(kù)文章libzfs_util.c 其他例程

    推薦閱讀