關於linux0.12文件系統目錄大小的一個發現

今天看到empty_dir函數發現他並不是比較i_size==32來判斷是否爲空,而是去讀所有的塊來判斷是否爲空,然後就覺得很奇怪,不過總覺得事出必有因,翻來覆去的找了一下,終於有了點發現,去看了一下add_entry和sys_rmdir這兩個函數終於發現了一個事實!那就是目錄文件的大小隻會增大不會減小。下面是實驗的截圖:

在這個實驗裏我們可以看到當我建立了test2 test3 test4四個文件後

test1目錄變成了80,但是我刪除這3個目錄項後,test1目錄並沒有減少,這就說明了,在empty_dir中爲什麼linus遍歷來確定目錄是不是爲空了!不知道這算不算是一個小bug,還是minix1.0的文件系統中本就是如此!

發佈了43 篇原創文章 · 獲贊 17 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章