Поддръжката на Apple HFS/HFS+ в Linux 7.1 получава нова вълна от корекции

0
9

Година след като се обсъждаше премахването на драйвърите за HFS и HFS+ от Linux ядрото, ситуацията изглежда коренно различна. Вместо да бъдат изоставени, старите файлови системи на Apple получават стабилна поддръжка и редовни поправки, които продължават и в цикъла за Linux Kernel 7.1.

Причината за този обрат е група разработчици, които миналата година поеха поддръжката на HFS/HFS+. Оттогава насам почти всяка версия на ядрото включва нови корекции. За Linux Kernel 7.1 пакетът е особено солиден и показва, че усилията дават резултат.

Какво е поправено този път

Кодът на драйвърите е получил множество корекции, включително такива, открити от Syzbot, както и поправки на грешки, засечени от xfstests. Работата е разпределена между четирима разработчици, а промените засягат ключови части от файловата система. Сред тях са:

  • отстраняване на проблеми в логиката за създаване на map възли в xattr b-tree;
  • корекции в алгоритмите за заделяне и освобождаване на b-tree възли;
  • поправено поведение при обработка на грешки в hfs_bmap_free();
  • предотвратяване на потенциални race условия в b-tree операциите;
  • изваждане на логиката за търсене на скрити директории в отделна помощна функция;
  • корекция на освободен заключен ресурс в hfsplus_fill_super();
  • валидиране на bitmap-а на b-tree node 0 при mount;
  • рефакториране на достъпа до map страниците и добавяне на проверка на типа възел;
  • актуализиране на ctime след rename, setxattr и removexattr;
  • предотвратяване на възможна корупция на Allocation File след fsync;
  • поправки на няколко тестови случая от generic тестовете.

Тези промени не само подобряват стабилността, но и намаляват риска от повреда на данни, а това е ключов фактор при работа със стари файлови системи, които все още се срещат в архиви, стари носители и специализирани среди.

Прочетете още:  KDE Plasma 6.6 отстранява сериозни проблеми с разпознаването на пръстови отпечатъци

Поддръжката продължава въпреки остаряването на HFS/HFS+

Докато macOS отдавна е преминал към APFS, Linux продължава да поддържа HFS и HFS+ заради нуждите на потребители, които работят със стари устройства или архиви.  Именно това прави Linux толкова универсална операционна система и която всъщност е единствената, която може да работи найтив върху Apple хардуер. Последните корекции показват, че поддръжката не само е жива, но и активно подобрявана. Пълният списък с промени е достъпен в изпратения pull request за Linux Kernel 7.1.

Така HFS/HFS+ се превръща в пример как общността може да вдъхне нов живот на компоненти, които иначе биха били изоставени.