1
是否有人知道如何使用NFS v4的奇特文件鎖定功能? (在例如About the NFS protocol(向下滾動)中描述)。據說NFS v4支持45秒的文件鎖租賃。我想相信Linux內核(我使用gentoo 2.6.30)很高興地處理這些細節,並且我可以使用fcntl()
,並且它全部出來。然而,我猜測,我必須做某些特殊的事情來獲取,維護和釋放鎖租約。所有幫助讚賞。通過NFS v4文件鎖租約C
是否有人知道如何使用NFS v4的奇特文件鎖定功能? (在例如About the NFS protocol(向下滾動)中描述)。據說NFS v4支持45秒的文件鎖租賃。我想相信Linux內核(我使用gentoo 2.6.30)很高興地處理這些細節,並且我可以使用fcntl()
,並且它全部出來。然而,我猜測,我必須做某些特殊的事情來獲取,維護和釋放鎖租約。所有幫助讚賞。通過NFS v4文件鎖租約C
你是對的,fcntl負責所有這些業務。租賃管理由nfs客戶端(linux內核模塊)完成
我喜歡這個答案,因爲它的簡單性。我想知道我是如何知道NFS v4 voodoo實際上是在底層工作的,因爲fcntl會很樂意在'vanilla'本地文件系統上工作,並且應該在NFS v3下工作。我想我必須嘗試它並崩潰客戶端機器;) – shabbychef 2009-12-02 17:36:43
當fcntl調用命中內核時,它將被分派到任何文件子系統,該子系統爲其所調用的文件描述符執行它。如果文件描述符指向nfs mount上的文件,它將以nfs客戶端的fcntl函數結束。 – leeeroy 2009-12-02 19:08:42
btw,是通過F_SETLEASE/F_GETLEASE還是通過舊的F_sETLK/F_GETLK進行NFS v4鎖定租用?我會猜測前者,但是fcntl manpage是不明確的,而google並沒有幫助.. – shabbychef 2009-12-03 02:37:08