Симулятор блочного устройства Linux и Fuse - PullRequest
6 голосов
/ 27 октября 2009

Мой проект включает моделирование блочного устройства удаленным хостом.

Для тестирования я использую FUSE, моя файловая система представляет собой простое изменение примера приложения "привет", где вместо возврата постоянной строки я просто читаю данные непосредственно из файла.

Когда я пытаюсь нормально смонтировать файл (mount -o loop = / dev / loop1), он работает хорошо. Когда я загружаю fuse и выставляю этот файл через него, все нормальные файловые операции работают. Но при установке «Отказано в доступе» происходит сбой.

У кого-нибудь есть идея, откуда исходит "отказано в разрешении"?

Любые другие методы позволят мне создать виртуальное устройство (только поддерживающее блокировку доступа) в пространстве пользователя, которое будет монтироваться?

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 27 октября 2009

Предположительно, проблема в том, что файловая система FUSE не поддерживает функции, необходимые для монтирования циклов.

Рассматривали ли вы вместо этого использование сетевого блочного устройства, например, NBD или iSCSI target?

2 голосов
/ 27 октября 2009

Вы выполняете с правами Root. Вы можете отследить программу с помощью «strace», а затем проверить, где именно это не работает.

1 голос
/ 27 октября 2009

Команда mount является настоящим адом, когда она начинает печатать ошибки. Попробуйте "-v", но чаще всего дополнительный вывод не поможет: (

...