原创 nfs-ganesha的mdcache源碼分析----mdcache_readdir流程
2 mdcache_readdir 在2.5.0之後的版本中,加入了readdir chunk,可以不完全將目錄存入cache中,默認每個chunk存128個條目(可以通過Dir_Chunk設置),整個系統chunk的水線爲1
原创 內存映射mmap
一直都對內存映射文件這個概念很模糊,不知道它和虛擬內存有什麼區別,而且映射這個詞也很讓人迷茫,今天終於搞清楚了。。。下面,我先解釋一下我對映射這個詞的理解,再區分一下幾個容易混淆的概念,之後,什麼是內存映射就很明朗了。 原理:首先,“映射
原创 nfs-ganesha的mdcache源碼分析----mdcache_lookup流程
項目中使用了ganesha-nfs,之前使用了nfs-ganesha的2.3.3版本, 但是貌似cache中出現了一些問題,而2.4以後的版本重構了inode cache模塊,導致只能自己分析源碼,解決部分bug(其實大部
原创 malloc的brk和mmap
先放一張虛擬地址空間分佈圖(圖截至深入理解計算機系統第三版): malloc的分配內存有兩個系統調用,一個brk,一個mmap,brk是將.data的最高地址指針_edata往高地址走,mmap則是在進程的虛擬地址空間(在堆和棧之間
原创 phxpaxos 狀態機
引用的話: 狀態機這個名詞大家都不陌生,一個狀態機必然涉及到一個狀態轉移,而Paxos的每個實例,就是狀態轉移的輸入,由於每臺機器的實例編號都是連續有序增長的,而每個實例確定的值是一樣的,那麼可以保證的是,各臺機器的狀態機輸
原创 白話解析:一致性哈希算法 consistent hashing
在瞭解一致性哈希算法之前,最好先了解一下緩存中的一個應用場景,瞭解了這個應用場景之後,再來理解一致性哈希算法,就容易多了,也更能體現出一致性哈希算法的優點,那麼,我們先來描述一下這個經典的分佈式緩存的應用場景。一、場景描述 假設,我
原创 phxpaxos的Proposer和Acceptor的流程
在paxos算法中,主要包含了三個角色,proposer、accepter和learner。learner在paxos算法的論文中提及不是很詳細,但是在phxpaxos實現是最爲複雜的,之後獨立一篇文章分析。 在微信的文檔中
原创 ganesha 2.3.3 遇到的問題記錄
項目中在使用ganesha2.3.3版本中,遇到一個棘手的問題。 我們是自己實現的一個分佈式文件系統,對接的ganesha-nfs的2.3.3的接口。有一個應用場景是將目錄通過nfs掛載給vmware,以建立虛擬機使用。最近在測試強