При монтировании файловой системы NFS клиентом ядро ассоциирует с ней новую структуру vfs и вызывает функцию nfs_mount(). Функция отправляет запрос RPC серверу, используя протокол Mount.
Также может иметь смысл заглянуть на сайт lunet.ru, ведь именно там можно узнать много нового на тему http://lunet.ru/. Тема мебель для аптек может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт lunet.ru, и тема мебель для аптек начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема мебель для аптек очень подробно представлена на сайте lunet.ru. Трудно найти более детальное освещение темы мебель для аптек чем это сделано на сайте lunet.ru. Спасибо сайту lunet.ru за такое доскональное преподнесение темы мебель для аптек.
Аргументом такого запроса является имя монтируемого каталога. Демон mountd, выполняющийся на сервере, получает запрос и преобразует полное имя. Он проверяет, является ли указанное имя действительно каталогом, а также может ли оно быть экспортировано клиенту.
Если это возможно, демон отправляет успешное ответное сообщение, в котором указывает дескриптор файла этого каталога.
После получения успешного ответа клиент завершает инициализацию структуры vfs. Он вносит в объект закрытых данных vfs имя и сетевой адрес сервера. Затем он размещает mode и vnode для корневого каталога. Если сервер даст сбой и перезагрузится, система на клиентской машине останется монтированной, но эта информация будет потеряна сервером. Так как клиент посылает верные дескрипторы файлов в запросах к NFS, сервер сделает вывод об успешном проведении операции монтирования ранее и перестроит свои внутренние записи.
Серверу необходимо проверять права доступа к файловой системе NFS при каждом запросе к ней. Ему требуется убедиться в том, что файлы экспортируются только определенному клиенту (если запрос изменяет файл, последний должен быть экспортирован на чтение-запись). Чтобы сделать такое испытание эффективным, дескриптор файла содержит пару (<индексный дескриптор, генерируемый номер>) экпортируемого каталога. Сервер поддерживает в памяти список всех таких каталогов, что позволяет быстро осуществлять нужные проверки.
Просмотр полных имен
Как результат операции mount, клиент получает дескриптор каталога верхнего уровня. Он получает и другие дескрипторы при просмотре полных имен или после выполнения операций CREATE и MKDIR. Клиент инициализирует операцию просмотра при применении таких системных вызовов, как open, creat или stat.
На клиентской системе операция просмотра начинает свою работу в текущем либо корневом каталоге (в зависимости от того, является ли полное имя относительным или абсолютным) и просматривает по одному компоненту в один момент времени. Если текущим каталогом является каталог системы NFS или происходит пересечение границы монтирования в сторону каталога NFS, операция просмотра вызовет специфическую для NFS функцию V0P_ LOOKUP. Функция отправит серверу запрос LOOKUP, в котором передаст дескриптор родительского каталога (сохраненного клиентом в объекте mode), а также имя компонента для поиска.
Сервер извлекает идентификатор файловой системы из дескриптора и использует его для обнаружения структуры vfs, относящейся к данной системе. После он загружает операцию VFS_VGET, преобразующую дескриптор файла и возвращающую указатель на vnode родительского каталога (размещая в памяти новый объект, если это необходимо). Затем сервер выполняет операцию VN0DE_L00KUP применительно к этому объекту vnode, которая и вызовет функцию для локальной файловой системы. Функция производит поиск в каталоге искомого файла и при обнаружении размещает его объект vnode в памяти (если последнего там нет, разумеется) и возвращает на него указатель.
Опубликовал katy
July 12 2015 06:53:27 ·
0 Комментариев ·
2877 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.