LINUX.ORG.RU

Анатомия виртуального коммутатора файловых систем Linux

 ,


0

3

Операционная система Linux — само воплощение гибкости и расширяемости. Возьмём, к примеру, виртуальный коммутатор файловых систем (virtual file system switch, VFS). Он позволяет создавать файловые системы на различных устройствах: традиционных дисках, USB флэш-накопителях, в памяти, на других устройствах хранения. Можно даже встроить файловую систему в контекст другой файловой системы. Давайте узнаем, что же делает VFS столь мощным инструментом, и рассмотрим его основные интерфейсы и процессы.

>>> Подробности

★★★

Проверено: Shaman007 ()

Интересно, сколько макскому платит IBM?

px ★★★ ()
Ответ на: комментарий от px

тебе жалко чтоли? Хостинг он же не бесплатный. У модераторов вон оплата вообще сдельная, один хитпоинт скора снял - один бакс заработал.

shutty ()

А кто придумал, что VFS - это ...switch? По-моему, по жизни VFS так и был virtual file system без всяких switch.

lumag ★★ ()
Ответ на: комментарий от shutty

>тебе жалко чтоли?
Да, лично мне жалко главную ЛОРа.

px ★★★ ()

google: «virtual file system switch»
41000 страниц

google: «virtual file system switch» -anatomy
30000 страниц

Ыпично.

geekless ★★ ()

>Операционная система Linux — само воплощение гибкости и расширяемости

Не знаю, что такое операционная система Linux, ни разу не видел, но если из ОС GNU/Linux выпилить всё, что сделано проектом GNU - останется голое ядро.

DRVTiny ★★★★★ ()

Сходил по ссылке. Чистейшая, Дистиллированная вода.

geekless ★★ ()
Ответ на: комментарий от DRVTiny

> Не знаю, что такое операционная система Linux, ни разу не видел, но если из ОС GNU/Linux выпилить всё, что сделано проектом GNU - останется голое ядро.

В котором и живёт сабжевый VFS.

const86 ★★★★★ ()

Читать не буду. Серии про масштабируемый сервер хватило.

Casus ★★★★★ ()

(virtual file system switch, VFS)

Куда ещё одну S дели? По логике должно быть VFSS или VF2S, если это «switch». И вообще не ясно, что именно «переключает» VFS?

Casus ★★★★★ ()

Есть же «Understanding Linux kernel» и «Linux kernel development». Там всё доступно описано, что ещё надо ?

DELIRIUM ★★★★☆ ()
Ответ на: комментарий от DRVTiny

И что, от этого ядро вдруг стал ОС?

Конечно. Что не так? Если есть какие-то сомнения, в википедию, гугл и т.п.

mashina ★★★★★ ()
Ответ на: комментарий от px

> Интересно, сколько макскому платит IBM?

Ну не Макскому, а ЛОРу. За счёт чего последний, видимо, обеспечивает себе хостинг.

Вот лично мне не жалко. Хотя качество статей очень разное. но попадаются и очень толковые.

hobbit ★★★★★ ()
Ответ на: комментарий от shutty

> У модераторов вон оплата вообще сдельная, один хитпоинт скора снял - один бакс заработал.

Годно вбросил :)

hobbit ★★★★★ ()
Ответ на: комментарий от mashina

А интерфейсом в данном случае ядра с человеком что является? Если вы скажете: BusyBox, то над этим хотя бы можно будет поразмышлять.

DRVTiny ★★★★★ ()
Ответ на: комментарий от DRVTiny

А это вообще не обязательно, ОС в первую очередь среда для выполнения программ.

mashina ★★★★★ ()
Ответ на: комментарий от DELIRIUM

> Есть же «Understanding Linux kernel» и «Linux kernel development».

Только я заметил, что «Linux kernel» - тавтология?

ns_ramesses ()
Ответ на: комментарий от DELIRIUM

А вот чтобы формировалось понимание у пользователей линукс как там все работает. UTLK просто так ИМХО читать сложно.

x4DA ★★★★★ ()

> Операционная система Linux — само воплощение гибкости и расширяемости.

Что правда? :-)

ssedov ()
Ответ на: комментарий от px

сколько макскому платит IBM?

Тридцать две симпаффки в сутки. Считаешь, мало?

Xenesz ★★★★ ()

> Операционная система Linux — само воплощение гибкости и расширяемости.

Остальное можно было не писать.

ei-grad ★★★★★ ()

Это воплощение гибкости и расширяемости, не позволяет имя файла сделать длиннее 256 байт. О чём можно в дальше говорить?!

anonymous ()
Ответ на: комментарий от anonymous

>Это воплощение гибкости и расширяемости, не позволяет имя файла сделать длиннее 256 байт. О чём можно в дальше говорить?!

Иди проспись, юморист. 256 байт - для ext, для reiser например больше.

И, кстати, приведи историю успеха какой-нибудь ОС, у которой длина имени файла больше 256 _символов_. Надо же и твою ось тоже обос#$%^

router ★★★★★ ()
Ответ на: комментарий от anonymous

>не позволяет имя файла сделать длиннее 256 байт.

Пора бить тревогу. Я как раз на досуге придумал имя из 512 байтов.

Murr ★★ ()
Ответ на: комментарий от Murr

>Пора бить тревогу. Я как раз на досуге придумал имя из 512 байтов.

Хотя у разработчиков wine тоже неплохая фантазия, но пока не подобрались...

~ # find / -mount -printf «%f\n» | awk '{ print length(), $0}' | sort -n

102 wine-Programs-Microsoft Office-Средства Microsoft Office-Microsoft Office 2007 Языковые параметры.menu

Murr ★★ ()

> Операционная система Linux — само воплощение гибкости и расширяемости. Возьмём, к примеру, виртуальный коммутатор файловых систем (virtual file system switch, VFS).

Та вы що! А я то думал, VFS впервые в SunOS был зарелизено

anonymous ()
Ответ на: комментарий от anonymous

>> Операционная система Linux — само воплощение гибкости и расширяемости. Возьмём, к примеру, виртуальный коммутатор файловых систем (virtual file system switch, VFS).

Та вы що! А я то думал, VFS впервые в SunOS был зарелизено


Уважаемый, вы же уже обосрались. Мало что ли? Первый/второй тут не при чём. Реализовано? Есть что-то лучше?

router ★★★★★ ()
Ответ на: комментарий от anonymous

> не позволяет имя файла сделать длиннее 256 байт.

да ладно.

у vfs единственное ограничение - PATH_MAX. причем увеличить
его тривиально. собственно, это даже и не относится к vfs.

у dentry->d_name никаких ограничений вообще нет кроме
KMALLOC_MAX_SIZE.

NAME_MAX = 256, да, но это для ramfs/tmpfs.

ENAMETOOLONG приходит из драйвера fs. напр EXT4_NAME_LEN = 255.

idle ★★★★★ ()
Ответ на: комментарий от shutty

Да? А кому выставлять счета? Давайте почту, я вам буду invoce присылать!

catap ★★★★★ ()

Кароче. ВФС - это хорошо. Отсутствие ВФС в ОС - это плохо => винда - это плохо. Вот мы и докопались до истины.

anonymous ()
Ответ на: комментарий от idle

> ENAMETOOLONG приходит из драйвера fs. напр EXT4_NAME_LEN = 255.

Проверяем:

$ mount | grep /var

/dev/sda6 on /var type reiserfs (rw)

$ cd /var/tmp

$ i=1 f=1; touch $i; while mv $f 1$f 2>&-; do f=1$f; let i=i+1; done && echo $i

255

255 символов. Вывод: вы врёте.

anonymous ()
Ответ на: комментарий от anonymous

> > ENAMETOOLONG приходит из драйвера fs.



Проверяем:



не вижу проверки.

Вывод: вы врёте.


возможно. но в чем я соврал?

idle ★★★★★ ()
Ответ на: комментарий от idle

>не вижу проверки.

товарисч в цикле увкеличивает имя файла на один символ и считает количество итераций до ошибки.

возможно. но в чем я соврал?

что ограничение на длинну имени файла заложено в фс. В рейзере стоит предел 4096 байт на имя файла, а вылетает он на 255...

AVL2 ★★★★★ ()

>Операционная система Linux — само воплощение гибкости и расширяемости.

И ни одной ФС с собственными снапшотами. :))

iZEN ★★★★★ ()
Ответ на: комментарий от Murr

>> не позволяет имя файла сделать длиннее 256 байт.

Пора бить тревогу.

Поздно. Надо заворачиваться в простыню и ползти на кладбище. Ну а куда еще деваться наше время с именами < 256 символов?

tailgunner ★★★★★ ()
Ответ на: комментарий от AVL2

> > не вижу проверки.

товарисч в цикле


это я вижу.

В рейзере стоит предел 4096


#define REISERFS_MAX_NAME(block_size) 255

idle ★★★★★ ()
Ответ на: комментарий от tailgunner

Еще один. Если бы это было 256 символов.

А кириллицы уже 128 символов. И представь себе, инженера любят создавать библиотеки с именами типа «подшипник прямой с проточкой гост ЧЧЧ олвщвщ и т.д.dxf»

И замечательно получается, когда ты делаешь бекап с венды и рубишься на таких файлах. И торренты тоже бывают больше, чем 128 символов. Есть обходной костыль, но хотелось бы что-нибудь попрямее.

http://avlubimov.livejournal.com/3145.html

AVL2 ★★★★★ ()
Ответ на: комментарий от idle

>#define REISERFS_MAX_NAME(block_size) 255

это в каком дистре такое стоит?

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

> И представь себе

Вот веришь - мне глубоко пох.

инженера любят создавать библиотеки с именами типа «подшипник прямой с проточкой гост ЧЧЧ олвщвщ и т.д.dxf»

Сам посчитаешь символы, или помочь? Для протокола: 255 символов - это 3 строки печатного текста. Тот, кто дает файлам такие имена, просто идиот.

tailgunner ★★★★★ ()
Ответ на: комментарий от iZEN

>И ни одной ФС с собственными снапшотами. :))

Может потому что совершенно не обязательно, чтобы LVM, поддерживающий эту функцию, был интегрированным в ФС?

Murr ★★ ()
Ответ на: комментарий от tailgunner

>Вот веришь - мне глубоко пох.

даже не сомневаюсь.

Для протокола: 255 символов

для тупых в третий раз. не 255 символов, а 255 байт. Что в русском языке означает 128 символов, а в тяжелых случаях и 64.

Но самое главное, что когда такие файлы создают в венде в каком нибудь торренте, трансмишн останавливает закачку всего торрента.

AVL2 ★★★★★ ()
Ответ на: комментарий от iZEN

>И ни одной ФС с собственными снапшотами. :))

это еще что. нив одной фс нет даже собственного тетриса. Не то, что мп3 плейра...

AVL2 ★★★★★ ()
Ответ на: комментарий от idle

> > Вывод: вы врёте.

возможно. но в чем я соврал?

http://en.wikipedia.org/wiki/ReiserFS

Max filename length    4032 bytes, limited to 255 by Linux VFS

Выходит, что ФС таки поддерживает, VFS таки так же поддерживает, но у нас есть такие хаки по ограничению длины имени?

anonymous ()
Ответ на: комментарий от AVL2

>> Для протокола: 255 символов

для тупых в третий раз

Перестань разговаривать с собой.

255 байт. Что в русском языке означает 128 символов, а в тяжелых случаях и 64.

А в очень тяжелых, наверное, и 32.

Но самое главное, что когда такие файлы создают в венде в каком нибудь торренте, трансмишн останавливает закачку всего торрента.

Ахренеть проблема :D

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

>>> Для протокола: 255 символов

для тупых в третий раз

Перестань разговаривать с собой.

Вы про юникод и мультибайт чары слышали? Или застряли с KOI8-R?

1 байт не равен 1 символу. Что не ясно?

anonymous ()
Ответ на: комментарий от anonymous

> 1 байт не равен 1 символу. Что не ясно?

Откуда вы беретесь, телепаты, и почему так хреново телепаете? Но для протокола: я знаю, что Unicode использует больше одного байта на символ, уже лет 20. Но проблемы тех, кому не хватает длины имен файлов, поддерживаемых Линуксом, вызывают у меня ухмылку. Что неясно?

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

> Но для протокола: я знаю, что Unicode использует больше одного байта на символ, уже лет 20.

Тогда зачем пишешь, что макс. длина 255 символов? Это враньё. Длина 255 байт

anonymous ()
Ответ на: комментарий от tailgunner

>А в очень тяжелых, наверное, и 32.

да нет, в utf-8 символ занимает 1-4 байта, так что 64 символа, это минимум.

Ахренеть проблема :D

невозможность скачать торрент? да, проблема. невозможность забекапить данные с вендовых клиентов в автоматическом режиме без упаковки в тарбол? да, и это тоже проблема.

AVL2 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.