Реализация асинхронной файловой системы с FUSE в Linux

Я пытался спросить в списке рассылки FUSE, но пока не получил никакого ответа ... У меня есть пара вопросов . Я собираюсь реализовать низкоуровневую файловую систему FUSE и следить за дескриптором fuse_chan с помощью epoll.

  1. Мне нужно подделать inodes для всех Пока не получил никакого ответа ... У меня есть пара вопросов. Я собираюсь реализовать низкоуровневую файловую систему FUSE и следить за fuse_chan ...

    Я пытался спросить в списке рассылки FUSE, но пока не получил никакого ответа ... У меня есть пара вопросов . Я собираюсь реализовать низкоуровневую файловую систему FUSE и следить за дескриптором fuse_chan с помощью epoll.

    1. Мне нужно подделать inodes для всех Пока не получил никакого ответа ... У меня есть пара вопросов. Я собираюсь реализовать низкоуровневую файловую систему FUSE и следить за fuse_chan ...

      Я пытался спросить в списке рассылки FUSE, но пока не получил никакого ответа ... У меня есть пара вопросов . Я собираюсь реализовать низкоуровневую файловую систему FUSE и следить за дескриптором fuse_chan с помощью epoll.

      1. Мне нужно подделать inodes для всех объекты в моей файловой системе, верно? Являются есть какие-то правила по выбору inodes для объектов в VFS (например, я должны использовать только положительные значения или могу ли я использовать значения в некотором диапазоне)?

      2. Могу ли я сделать дескриптор fuse_chan неблокирующий? Если да, скажите пожалуйста Могу ли я предположить, что fuse_chan_recv () / fuse_chan_send () получит / отправит полный запрос структура, или мне нужно переопределить их с функциями обработки частичной отправки и получить?

      3. Что насчет размера буфера ? я вижу это в fuse_loop () новый буфер выделяется для каждого звонка, поэтому я предполагаю что размер буфера не фиксирован. Однако, возможно, есть максимум возможный размер буфера? Тогда я могу выделить больший буфер и уменьшить операции выделения памяти.

7
задан DomQ 23 March 2014 в 19:39
поделиться