The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Вышел релиз сетевой файловой системы POHMELFS"
Отправлено _umka_, 05-Май-08 01:21 

>[оверквотинг удален]
>>Еще раз подчеркиваю
>>клиент1: statfs inode, open(O_APPEND); sleep
>>клиент2: open(,O_APPEND); write, exit;
>>клиент1: write, exit
>>по времени эти 2 действия не пересекаются - только i_size обновляется асинхронно.
>>
>>такая последовательность действий запрещена с точки зрения pohmelfs ?
>
>Печально... Запустите этот код параллельно в двух потоках, только в один из
>них добавьте lseek().

причем тут lseek?

>[оверквотинг удален]
>>>поток может вызвать lseek() и переписать указатель, откуда надо делать write().
>>>Для этого и изобрели pwrite() и остальных (собственно, они и используются
>>>в pohmelfs server).
>>
>>в случае люстры - 2 клиента могут писать в EOF последовательно и
>>это будет работать.
>>у вас это запрещено - ок, запишем.
>
>Вы не видите ошибки в этом коде, печально... sys_write() работает со смещением,
>а не с размером иноды.

ээ.. можно уточнить в каком из ядер вдруг появилось смещение?

asmlinkage ssize_t sys_write(unsigned int fd, const char __user * buf, size_t count)
из 2.6.24.

Пишется буфер, позиция берется из f_pos, которая на момент open(,O_APPEND) берется из i_size - все согластно POSIX.

>
>Тем не менее обновление метаданных работает совершенно по тому же самому механизму,
>что и инвалидация страниц. Это я про i_size, права доступа, uig/gid
>(наверное нужно atime) и т.п. Собственно для этого есть структура, сильно
>напоминающая ту, что заполняет stat(2).

хотел бы я посмотреть на rpc трафик в этом случае. ну да лана.

>[оверквотинг удален]
>>дай бог что бы она поддерживала хотя бы такую как есть в
>>локальном VFS, пока и ее нету.
>
>Я так полагаю, вы в этом сомневаетесь :)
>
>>Я лиш пытаюсь показать подводные камни на этом пути, да и немного
>>- не совсем привычных use case которые тем немеение существуют.
>
>Нет, вы пытаетесь показать, что это не удастся. Но вы не правы
>:)

да ну? я лиш показал некоторые use case на которые надо обратить внимание :)
и которые в текущей реализации сделаны "никак".

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру