- 論壇徽章:
- 0
|
曾寫了一個檢測程序以檢測 NFS mount 的目錄 是否存在?? 在異常測試中, 當(dāng)斷開NFS網(wǎng)線時, stat函數(shù)一直掛在那個地方, 查閱相關(guān)資料, 得知 mount 時參數(shù)指定不對. 遂根據(jù)資料修類似如下命令:
mount -t nfs -o timeo=10,rw,soft,retry=1,intr 135.251.208.34:/vol/vol1 /nfs
由于添加了 timeo 及 soft 與 retry 參數(shù), 這樣, 經(jīng)過 (timeo + 2*timeo)/10 = 3秒后, stat函數(shù)應(yīng)該會返回, 其 errno 表明 "I/O" 錯誤.
測試展示, 發(fā)現(xiàn)不穩(wěn)定, 在 mount 上后的前幾次操作中, stat函數(shù) (df -k 命令也一樣)等待3秒后返回了 "I/O"錯誤,, 但偶爾有時又掛在那里了, 最后需要等待1分鐘后才返回. 由于程序?qū)@個檢測時間比較敏感, 希望將這個檢測時間控制在較短范圍.
1, 為什么 stat函數(shù)(df -k) 不按設(shè)置好的參數(shù)超時返回呢?
2, 能否加一個保護(hù)機(jī)制, 當(dāng) stat掛在那地方超過一時間后, 主程序能否中斷 stat 操作? 怎么去中斷?? 是否發(fā)一個信號?? 這個信號怎么發(fā)?? |
|