2009-12-01 4 views
1

Кто-нибудь знает, как использовать функции фиксации фантазийного файла NFS v4? (описано, например, About the NFS protocol (прокрутка вниз)). предположительно, NFS v4 поддерживает лизинг блокировки файлов с 45-секундным сроком службы. Хотелось бы верить, что ядро ​​linux (я использую gentoo 2.6.30) с удовольствием позаботится об этих деталях, и я могу использовать fcntl(), и все это выйдет в стирке. Однако я предполагаю, что мне нужно сделать что-то особенное, чтобы получить, сохранить и освободить личный договор. все помогают оценить.личная аренда файлов через NFS v4 в C

ответ

2

Вы правы, fcntl заботится обо всем этом деле для вас. Управление арендой выполняется клиентом nfs (модуль ядра в Linux)

+0

Мне нравится этот ответ для его простоты. Мне интересно, как я знаю, что Voodoo NFS v4 фактически работает под капотом, так как fcntl будет радостно работать с локальными файловыми системами «vanilla» и, предположительно, под NFS v3. Думаю, мне нужно попробовать его и свернуть клиентскую машину;) – shabbychef

+0

, когда вызов fcntl попадает в ядро, он отправляется в любую подсистему файлов, которая реализует ее для дескриптора файла, на который он вызван. Если дескриптор файла указывает на файл на монте nfs, он окажется в функции fcntl клиента nfs. – leeeroy

+0

btw, это блокировка аренды NFS v4 через F_SETLEASE/F_GETLEASE или через старшую F_sETLK/F_GETLK? Я бы предположил, что первый, но fcntl manpage неоднозначен, а google не помогает .. – shabbychef