2009-09-19 94 views
0

進出口實現NFS和almoste完成,但RFC section 3.3.8說,這在它的描述:NFS創建文件(覆蓋)=零大小?

模式 一個不受控制,守衛,以及EXCLUSIVE。 未檢查的 意味着應在不檢查 的情況下創建該文件,以確定 目錄中是否存在重複文件。在這種情況下,how.obj_attributes是描述文件初始屬性的sattr3 。 GUARDED 指定在執行創建之前服務器應檢查重複文件的存在 ,如果存在 重複文件,則 應該使用NFS3ERR_EXIST使請求失敗。如果該文件不存在,則按照對於未檢查的描述執行 請求。 EXCLUSIVE指定服務器將遵循 獨佔創建語義,使用驗證者至 確保獨佔創建目標。在這種情況下可以不提供屬性 ,因爲服務器可以使用目標文件元數據來存儲驗證者的createverf3 。

所以問題如果UNCHECKED是模式,我應該只是將文件的長度設置爲零,或者我應該讓文件保持原樣?如果它的目錄我應該刪除所有的內容?

回答

3

我相信CREATEUNCHECKED的想法是應用良好的舊的Unix系統調用creat的語義 - 因此,隱含文件的現有內容(如果有的話)的截斷。但是,我無法在文檔(!)中找到明確指定的內容。

試圖CREATE現有目錄是在任何情況下的錯誤 - 有針對單獨MKDIR(NFS中3,同樣也適用於特殊的文件,與MKNOD - CREATE現在是規律的,正常的,純正好舊文件只! - )