Ошибка ввода / вывода с файловой системой 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)