Linux: различия между версиями
Строка 5: | Строка 5: | ||
* [http://bugs.etersoft.ru/show_bug.cgi?id=9266 Название файла ограничено 255 байтами почти во всех ФС и в ядре Linux] | * [http://bugs.etersoft.ru/show_bug.cgi?id=9266 Название файла ограничено 255 байтами почти во всех ФС и в ядре Linux] | ||
* [http://bugs.etersoft.ru/show_bug.cgi?id=2771 NT-семантика блокирования файлов (mandatore)] | * [http://bugs.etersoft.ru/show_bug.cgi?id=2771 NT-семантика блокирования файлов (mandatore)] | ||
* [http://bugs.etersoft.ru/show_bug.cgi?id=8420 Linux не адаптирует длинный inode при вызове обычного stat] (при этом glusterfs, xfs и другие ФС могут создавать большие inode: номер может зависеть от положения файла на диске или от количества операций по созданию файлов). Предложение: обнулять inode. Те, кому он важен, пересоберут программу с OFFSET64. | * [http://bugs.etersoft.ru/show_bug.cgi?id=8420 Linux не адаптирует длинный inode при вызове обычного stat] (при этом glusterfs, xfs и другие ФС могут создавать большие inode: номер может зависеть от положения файла на диске или от количества операций по созданию файлов). Предложение: [http://bugs.etersoft.ru/show_bug.cgi?id=9552 обнулять inode.] Те, кому он важен, пересоберут программу с OFFSET64. | ||
=== NFS issues === | === NFS issues === |
Версия 17:51, 2 октября 2013
Linux issues
Kernel issues
- Название файла ограничено 255 байтами почти во всех ФС и в ядре Linux
- NT-семантика блокирования файлов (mandatore)
- Linux не адаптирует длинный inode при вызове обычного stat (при этом glusterfs, xfs и другие ФС могут создавать большие inode: номер может зависеть от положения файла на диске или от количества операций по созданию файлов). Предложение: обнулять inode. Те, кому он важен, пересоберут программу с OFFSET64.
NFS issues
- umount -f не работает для NFS
- losetup -d не отсоединяет от устройства файл, который размещён на недоступном NFS-ресурсе
Разработки Etersoft для включения в ядро Linux
1. Доработка VFS для поддержки флагов обязательной блокировки при открытии файлов. Подробности здесь: https://patchwork.kernel.org/patch/2808791/ Работа проведена, все возможные обсуждения тоже, сейчас решается вопрос о включении в upstream. Это важно для полноценной поддержки CIFS, более прямой работы Samba с файлами, реализации в Wine совместной работы с файлами, в т.ч. с Windows-машинами.
2. Адаптация системы для поддержки длинных inode (64 бит) на 32-битных системах. Сейчас такие файловые системы, как glusterfs и xfs, а также другие сетевые системы большие inode, с которыми не будут работать многие программы, использующие вызов stat. В рамках этой задачи мы уже исправляли код fuse, в том числе, для RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=872629.
Здесь некоторые подробности: http://bugs.etersoft.ru/show_bug.cgi?id=8420
Это важно для обеспечения совместной работы 32-битных систем в 64-битной инфраструктуре, иначе в ближайшее время это станет почти невозможным, что плохо повлияет на работу унаследованных программ, а также Wine, который для запуска Windows-программ должен быть 32-битным.
3. Снятие ограничения на название файла в Linux: сейчас оно ограничено 255 байтами во всех файловых системах, в ядре Linux, в glibc и прикладных библиотеках. 255 байт - это 127 русских букв в кодировке UTF-8, то есть в два раза меньше, чем в Windows. Решение этой проблемы позволит обеспечить полноценный обмен файлами с Windows: снимет ограничения, которые сетевые хранилища, основанные на Linux, устанавливают для Linux-клиентов, а также позволит копировать (загружать) в Linux-систему файлы, созданные в Windows, в том числе с интернет-сайтов и флеш-носителей. Подробности здесь: http://bugs.etersoft.ru/show_bug.cgi?id=9266