The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В ядро Linux для ФС Ext4 включена поддержка работы без учёта..., opennews (ok), 26-Апр-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


37. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +4 +/
Сообщение от Аноним (37), 27-Апр-19, 00:10 
Это не только тупо, но еще и медленнее. Привод юникодных символов к одному регистру требует дополнительных затрат
Ответить | Правка | Наверх | Cообщить модератору

43. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  –2 +/
Сообщение от Ordu (ok), 27-Апр-19, 00:29 
> Это не только тупо, но еще и медленнее.

Медленнее чем что?

Вот смотри, есть например wine. Wine -- это реализация win32api, созданная для того, чтобы вендопрограммы запускать. Вендопрограммы предполагают регистронезависимость. А это значит, что неплохо было бы, реализовывая всякие вендовые функции работы с файловой системой, обеспечить работу с регистронезависимыми путями. Но если так, то даже элементарный OpenFile превращается в огромного монстра, который берёт путь к файлу из аргументов, и начинает идти по нему регистронезависимо. На каждый элемент пути потребуется, я полагаю, 3+ сисколла (открыть директорию, прочитать директорию, закрыть директорию).

Когда же это делает ядро, то вся эта работа выполнится в два переключения контекста: один раз в ядро через open(2), и один раз обратно.

Ответить | Правка | Наверх | Cообщить модератору

55. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +/
Сообщение от Гентушник (ok), 27-Апр-19, 02:05 
> есть например wine

Вот только как вайн будет узнавать, включен ли на директории этот новый флаг или нет? Ведь без него нужно оставить старое поведение (с преобразованиями).
А проверка что флаг включен это как минимум дополнительный сискол.

Так же, использование этого флага на каталогах куда ходят линуксовые программы (например если ~ или /tmp в вайн пробросить) может вызывать всякие странные глюки, т.к. подавляющее большинство таких программ не будет готово к такому поведению фс.

В итоге это будет использоваться только в каких-то узкоспециализированных случаях, например в каком-нибудь дистрибутиве заточенном под игры в wine или там в NAS.

Ответить | Правка | Наверх | Cообщить модератору

60. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +3 +/
Сообщение от Ordu (ok), 27-Апр-19, 03:42 
>> есть например wine
> Вот только как вайн будет узнавать, включен ли на директории этот новый
> флаг или нет? Ведь без него нужно оставить старое поведение (с
> преобразованиями).
> А проверка что флаг включен это как минимум дополнительный сискол.

Это можно прописать в настройках. Вот есть у тебя ~/.wine/drive_c, в настройках прописано дефолтом что он case insensitive, и wine создавая его и все его поддиректории проставляет флаг. А потом он может даже не проверять: если пользователь достаточно продвинут, чтобы скинуть этот флаг, то значит он должен быть готов к последствиям.

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

Вон, как пишут в комментах, венда в ntfs умеет в регистрозависимость. И пользователь может рулить этой регистрозависимостью как хочет. То есть если wine свалит вопросы регистра на ядро, то он устранит все различия с вендой в этом плане. И получит бонус к производительности, потому что не надо будет пользоваться юзерспейс костылями.

> Так же, использование этого флага на каталогах куда ходят линуксовые программы (например
> если ~ или /tmp в вайн пробросить) может вызывать всякие странные
> глюки, т.к. подавляющее большинство таких программ не будет готово к такому
> поведению фс.

Подавляющее большинство программ ничего не заметит. Возьми coreutils, например, те берут имея файла из argv, открывают этот файл, что-то с ним делают, закрывают. Им совершенно фиолетово, регистрозависимо оно или нет. А какой-нибудь там ls, который имена файлов берёт читая директорию, тоже не заметит ничего особого. Ну прочитал он имена файлов, и чё? Там какие-либо аберрации могут возникать тогда, когда есть два разных источника для имени файла и они дают имя файла в разных регистров. Но что именно? Возьмём cp: мы сказали cp /tmp/file .; в /tmp этот файл на самом деле назван как File, а в ./ тоже есть файл с именем FILE, в результате конечный регистр имени файла в ./ будет зависеть от деталей реализации cp. Может быть мы получим ./file, может быть ./File, может быть ./FILE. Ну и чё? Это называется UB, и как правило это не страшно. Это будет страшно если ты начнёшь писать заморочные скрипты, не учитывая этих UB.

Но и тем не менее, подавляющее большинство программ ничего не заметит. А если каким-то образом в линуксе станет модно использовать регистронезависимую фс (во что я не верю впрочем), то эти программы поправят с тем, чтобы они умело обрабатывали бы такие случаи.

> В итоге это будет использоваться только в каких-то узкоспециализированных случаях, например
> в каком-нибудь дистрибутиве заточенном под игры в wine или там в
> NAS.

Или в веб сервере, чтобы тот мог бы хранить файлы с именами в тОм РеГиСтРе в котором они были залиты на сервер, но при этом сохранять агностичность к регистру символов в url'ах. Или общесистемно, дабы никому в голову не приходила глупая идея создавать файлы с одинаковыми именами, различающимися лишь регистром.

Таких узкоспециализированных случаев может возникать много разных. И если их все объединить в одну группу, то эта группа случаев может оказаться не такой уж и малой. Но даже это не очень важно, потому что linux давно уже пытается быть бочкой во всех затычках. Технологическая проститутка.

Но и это не очень важно. В чём собственно проблемы? Ну поддерживает linux какие-то узкоспециализированные случаи, которые тебе не нужны, тебе-то что с того?

Ответить | Правка | Наверх | Cообщить модератору

74. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  –1 +/
Сообщение от пох (?), 27-Апр-19, 07:41 
> только как вайн будет узнавать, включен ли на директории этот новый флаг или нет?

README.shit-d
0. включите или ничего работать не будет

сейчас так принято.

> А проверка что флаг включен это как минимум дополнительный сискол.

а case-insensitive поиск по fs с учетом локали - это семечки. Включая даже и просто банальную проверку if (nocase) {} - выполняемую при массовых поисках миллионы раз в секунду, даже если фича тебе нахрен вот вообще не сдалась.

Заставляли бы всех любителей 1 windows way просто использовать ntfs3g, я был бы счастлив. Заодно, может, код бы чуток обновили, хотя...не, с этими руками лучше не надо.

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

263. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  –1 +/
Сообщение от adolfus (ok), 30-Апр-19, 14:13 
> На каждый элемент пути потребуется, я полагаю, 3+ сисколла
> (открыть директорию, прочитать директорию, закрыть директорию).

Нет такого слова в русском языке "директория".

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

268. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +/
Сообщение от Аноним84701 (ok), 30-Апр-19, 20:39 
> Нет такого слова в русском языке "директория".

Увы:
https://ru.wiktionary.org/wiki/директория
Ну или
> Толковый словарь Ушакова
> ДИРЕКТОРИЯ
> ДИРЕКТОРИЯ, директории, мн. нет, ж. (полит.). Коллегия директоров (во 2 знач.), правителей государства, напр. в эпоху Великой французской революции (1795 - 1799),
> контрреволюционная организация в эпоху гражданской войны (на Украине, в Уфе).

Я вообще краем уха слышал, что носители языка его постоянно меняют, подстраивая под современные реалии ;)

Ответить | Правка | Наверх | Cообщить модератору

271. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +/
Сообщение от Ordu (ok), 01-Май-19, 02:50 
>> На каждый элемент пути потребуется, я полагаю, 3+ сисколла
>> (открыть директорию, прочитать директорию, закрыть директорию).
> Нет такого слова в русском языке "директория".

Это проблемы русского языка, это не мои проблемы.

Ответить | Правка | К родителю #263 | Наверх | Cообщить модератору

157. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +/
Сообщение от Аноним (158), 27-Апр-19, 15:56 
На фоне приложений на антиэкологичных bloatlangs (java, python, etc) выглядит как нытье по волосам после потери головы. Хотя лично я не вижу смысла в регистронезависимости...
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

235. "В ядро Linux для ФС Ext4 включена поддержка работы без учёта..."  +/
Сообщение от Andrey Mitrofanov (?), 29-Апр-19, 08:32 
>требует дополнительных затрат

и дырявых парсеров с переполнениями!

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру