«Люди, которые думают, что файловые системы пространства пользователя могут быть чем-то большим, чем игрушки, просто введены в заблуждение» - так Линус Торвальдс прокомментировал сообщение Эндрю Мортона о том, что проблемы производительности файловых систем, основанных на FUSE, нельзя решить только за счет перемещения их кода в ядро. «Fuse подходит тогда, когда речь идет о редко используемом интерфейсе к изначально низкоскоростному устройству. Но для чего-то вроде корневой ФС ? Нет. Из этого ничего не выйдет.» - добавил Линус.
Спор о файловых системах пространства пользователя начался после того, как Миклош Жереди (Miklos Szeredi) отправил в список рассылки linux-fsdevel письмо с просьбой добавить код драйвера OverlayFS в Linux-ядро версии 3.1. Эндрю Мортон (Andrew Morton) спросил его о причинах реализации ФС в виде драйвера ядра, вместо использования FUSE, на что Миклос ответил, что по его мнению, реализация ФС в пространстве пользователя никогда не будет такой же быстрой как ФС пространства ядра. Мортон принял этот аргумент, но в ходе дальнейшей дискуссии добавил, что если ФС, основанная на FUSE имеет низкий уровень производительности, то сначала стоит задуматься о ее правильной реализации, а лишь затем о переносе кода в пространство ядра. После этого в дискуссию вступил Торвальдс.
Громкое заявление Торвальдса вызвало большой резонанс не только в среде пользователей, но и программистов, использующих FUSE. Так, разработчики файловых систем CloudFS и GlusterFS независимо друг от друга опубликовали в своих блогах сообщения о том, что взгляд Линуса Торвальдса на файловые системы слишком ограничен, так как существует масса самых разнообразных применений механизма FUSE, где выгода от простоты и гибкости разработки с его использованием перевешивает любые преимущества пространства ядра в плане производительности. «Что плохого в том, что FUSE делает разработку файловых систем такой же простой как создание игрушек? - написал Джон Марк (John Mark) в конце своего сообщения.
Тем не менее, попытка сторонников FUSE привести драйвер NTFS-3G в качестве примера возможности создания высокопроизводительных FUSE-драйверов была опровергнута одним из разработчиков NTFS-драйвера для Linux, который указал на то, что выполненная той же компанией реализация NTFS в виде модуля ядра значительно превосходит по производительности NTFS-3G.
>>> Главная ссылка к новости
fuse, linux, производительность, файловая система, ядро