Ошибка ввода / вывода с файловой системой fuse в linux?

Я пытаюсь смонтировать мою файловую систему в пустой каталог. Каталог /home/test, У меня уже есть следующие функции:

  • доступ
  • GetAttr
  • READDIR
  • statfs
  • MkDir
  • RmDir
  • Создайте
  • записывать
  • читать

Я использую команду ./fusetest /home/test -d смонтировать мою файловую систему. Когда я пытаюсь ls под каталогом /home/testЯ получаю информацию об ошибке:

ls: cannot open directory .: Input/output error"

Как показано на следующем рисунке:

И отладочная информация здесь:

В чем проблема и как ее исправить?

1 ответ

Ваша отладочная информация не показывает информацию os.ModeDir. Я предполагаю, что вы не делали двоичное преобразование между кодом типа вашего устройства и требуемым форматом. Для Голанга это выглядит примерно так (поскольку в вашем вопросе не указан язык или библиотека, которую вы используете):

attr.Mode = os.ModeDir | uint32(0644)
Другие вопросы по тегам