看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《richardhesid (張騫)》之銘言: : 如果設置為sync,則所有client寫入檔案的內容都不會cache,而是直接寫入disk。 : 如果設置為async,則所有client寫入檔案的內容都會cache。不管client端的process : 在打開檔案的時候設置O_SYNC flag,還是呼叫fsync()。 : 所以我覺得你的問題有如下兩種解決方法。 : 1,在你的nfs server端設置sync。 : 2,在master打開文件之后,在read之前,呼叫fsync()來sync文件。 : 以上方式并沒有驗證過,僅供參考。 看樣子 nfs server 設置 sync 大概是唯一解法 第二個方法我試過了,結局還是一樣,太慘淡了 我這天花了很多時間在網路上找方法, 看到的是說 fsync over nfs 都是假動作 XD 嘗試過後果然是這樣 無論如何多謝大家幫助,這個問題實在太困難了 QQ -- To iterate is human, to recurse, divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.117.249
richardhesid:fsync over nfs是假動作沒錯 04/14 23:51
richardhesid:不過在server端read之前fsync也是假動作嗎?還是 04/14 23:52
richardhesid:其他原因? 04/14 23:52
richardhesid:對于mater端來說,要讀得文件是 04/14 23:57
richardhesid:本地檔案啊 04/14 23:57
yoco315:我在試試看 QQ 謝謝 04/15 01:41
yoco315:try 了,失敗 XD 偉哉 NFS 04/17 02:38