Линус Торвалдс започна да съжалява, че е одобрил добавянето на Bcachefs в ядрото на Linux

При дискусия относно поредната партида от корекции, предложени за включване в ядрото 6.11-rc5 от автора на Bcachefs, Линус Торвальдс сподели, че започва да съжалява за приемането на файловата система Bcachefs в ядрото. Недоволството на Торвальдс идва от факта, че Кент Оверстрит (Kent Overstreet), авторът на Bcachefs, на етапа на финалните кандидати за издания, изпраща прекалено обширни корекции, които всъщност не само поправят грешки, но и продължават развитието на функционалността, при което функционални промени са допустими само в началния етап на разработка на нова клонка, а на етап rc5 се приемат само отделни малки корекции, чиито размер не би трябвало да надвишава 100 реда код.

Изпратеният за Bcachefs патч, в който са добавени 1309 реда и изтрити 671 реда в 39 файла, освен поправките на грешки, включва две значителни изменения: поддръжка на нова структура от данни за управление на списъка на свободните елементи в кеша и възможността за преобразуване на хеш-таблици за кеша. Новата структура е добавена за избягване на излишни блокировки в кеша и изключване на ситуации, които могат да доведат до конфликти на блокировки при многопоточни натоварвания.

Това не е първият случай, когато големи корекции за Bcachefs се изпращат след прозореца за прием на промени и не е първият случай, когато вместо простички поправки на грешки се напредват по-високи функционални добавки, представени чрез заявки за включване на корекции на финалните етапи на разработката на нова клонка. Линус Торвальдс отговори на изпратеното pull-заявление:

„Стига. Последният pull-запит беше също голям. Този pull-запит също е прекалено обемен, засяга неща, които не са свързани с Bcachefs и дори не представлява някаква регресия. В определен момент „поправянето на нещо“ просто се превръща в разработка, и това е точният момент. Никой в здравия си разум не използва Bcachefs и не очаква от него стабилност, следователно всеки потребител е поле за експерименти. Патчовете на Bcachefs станаха своего рода „голяма разработка по време на цикъла на подготовка на релийза, а не преди него“, до такава степен, че започвам да съжалявам за прилагането на Bcachefs. Ако Bcachefs не може да работи нормално в съответствие с графика на разработка на основното (upstream) ядро, може би не трябва да бъде в основното ядро. Това вече излиза извън границите на смешното.“

Кент Овърстрийт отговори, че Bcachefs определено е по-надеждна от Btrfs и работи по това да я направи по-устойчива и надеждна от XFS и EXT4, благодарение на внедряването на механизма за цялостност на данните от край до край (end to end data Integrity). Кент също подчерта, че предложените промени пряко засягат повишаването на надеждността и ако грешка в други подсистеми на ядрото може да бъде ограничена до срив и рестартиране, то в файловите системи цената на грешката е много висока и може да доведе до скрито повреждане на данните, което може да бъде забелязано едва седмици по-късно.

Торвълдс противоречи, че все още не съществуват големи дистрибуции на Linux, които използват Bcachefs, и посочи, че трябва да се спазват правилата за разработка на релийзите на ядрото на Linux, тъй като има вероятност от появата на нови грешки заради подобни големи патчове, съдържащи повече от 1000 реда код. В момента обсъжданите поправки за Bcachefs не са приети в ядрото на Linux, а разработчикът на Bcachefs все още не е подготвил обновен вариант на pull-запита, лишен от добавяне на нова функционалност и фокусиран само върху коригирането на грешки.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster