1
我已經實現了一個FUSE文件系統,現在我正試圖優化性能,因爲具有數千個文件的目錄的等待時間會在幾秒鐘內運行。如何在FUSE readdir調用中返回文件統計信息?
一些日誌記錄顯示,在我返回文件名列表後,getattr
然後每個文件被調用一次(對於10,000個文件,我的測試目錄爲10,000次),結果是5秒的等待時間增加了四倍進入20秒等待時間。
我使用[1]似乎支持返回元組(name, stat, offset)
以及名稱的列表列表FUSE的版本,所以我試圖返回
(
'<file_name>',
<stat with st_atime, st_mtime, st_mode, st_uid, st_gid, st_size>,
0,
)
爲每個文件,但getattr
是每個文件仍然被調用一次。
有人知道我在stat
中丟失了什麼導致O/S仍然調用getattr
,或者我沒有辦法改變這種行爲嗎?
[1]
版權所有(C)2008 Giorgos Verigakis
__version__
= '1.1'