作者yoco315 (眠月)
看板C_and_CPP
標題Re: Linux 上面讀取檔案發生超奇怪問題
時間Tue Apr 14 23:41:31 2009
※ 引述《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