Re: Возможности Fuse
От: zaufi Земля  
Дата: 08.04.12 02:15
Оценка: 2 (1)
Здравствуйте, dronsmr, Вы писали:

D>Можно ли с помощью Fuse (Filesystem in Userspace) "переопределить" работу стандартных команд чтения\записи?


FUSE это скорее "доопределить" чем "переопределить"... fuse это создание собственной "файловой системы" в userspace, а не переопределение существующих...

D>Чуть конкретнее: есть программа, которая отправляет файлы по сети с помощью sendfile.


при использовании FUSE нужно будет заботиться о том, чтобы файлы которые отправляет твоя программа брались именно с твоей "файловой системы" (откуда они там возьмутся это уже вопрос твоего "драйвера" FS) -- в этот момент, да, ты имеешь возможность контролировать весь I/O с твой "FS", и можешь подсовывать все что захочешь... -- но это IMHO сложный и не факт что тебе подходящий way (ибо если твоя прога получает файлы, допустим, из command line то ей можно будет запихать что угодно, а не только то, что "хранится" в твоей FS (котору кстати еще надо примонтировать перед тем как начать работу твой проги))

D>Хотелось бы иметь возможность изменять содержание потока байт, не меняя функцию передачи файла.


IMHO, наиболее простой way сделать библу в которой написать свою версию интерисумоей функции (sendfile к примеру) и грузить ее preload'ом -- таким образом твоя прога ничего не заметит, но вызываться будет уже твоя функция, в которой ты можешь делать все что тебе нужно, и затем уже вызывать настоящий sendfile
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.