Нова дискусия между Линусом Торвалдсом и Кентом Оверстритом (Kent Overstreet), автора на Bcachefs, завърши с изразената готовност на Линус да изключи кода на Bcachefs от ядрото на Linux 6.17. В същото време, Линус прие промените в Bcachefs за ядрото 6.16, които станаха предмет на ново недоволство от страна на Кент. Линус написа:
Смятам, че пътищата ни ще се разминават в прозореца на сливане 6.17.
Вие много ясно дадохте да се разбере, че не мога да оспорвам каквито и да било корекции на грешки и просто трябва да приема всичко.
Честно казано, не се чувствам особено комфортно, ангажиран в цялото това, и единственото, с което и двамата, изглежда, наистина се съгласихме в дискусията, е, че "сме приключили".
Предшествалата това изявление кореспонденция с Кент се е водила в личен порядък и детайлите все още не са ясни. Въпреки това, в обсъждането на тази тема, Кент написа, че вероятно думите му в личната кореспонденция са били неправилно интерпретирани и той не счита, че BcacheFS трябва да бъде изключен от ядрото. Въпреки това е готов да прекрати доставката на Bcachefs в основното ядро на Linux и това няма да убие проекта, въпреки че ще бъде огромен проблем. В случай на изтриване на Bcachefs, разработката ще продължи и тази файлова система ще се разпространява под формата на DKMS модул. Кент също така отбеляза, че изключването на BcacheFS от ядрото ще бъде най-добрият вариант за неговия и на Линус мир, но явно не би било най-доброто решение за потребителите и общността на разработчиците.
Спорът между Кент и Линус е предизвикан от постоянни нарушения на правилата за изпращане на промени и корекции в ядрото. Кент смята, че корекциите на проблемите в файловата система трябва да се движат незабавно и по всякакви възможни начини. Линус настоява, че функционалните промени и значителните корекции са разрешени само в началния етап на разработка на нова версия на ядрото, а късните кандидати за публикуване се съсредоточават единствено върху коригирането на грешки. Кент редовно нарушава това правило и изпраща значителни промени в неподходящия момент, което води до недоволство от страна на Линус и нова вълна от спорове. По-рано Линус вече е предупреждавал Кент за желанието си да изключи Bcachefs от основното ядро, тъй като Кент продължава да играе сам в собствената си песочница, не се включва в съвместната работа и отказва да приеме правилата на общността от разработчици на ядрото.
В случая с ядрото 6.16, Кент изпрати набор от пачове за включване в актуализацията RC3, сред които беше пач с реализацията на нова опция "journal_rewind". Линус написа, че Кент е забравил, че след затварянето на прозореца за прием на функционални промени, добавянето на нова функционалност в ядрото не е позволено, дори ако е свързано с коригиране на други грешки, тъй като добавянето на нови възможности в късните етапи на формиране на релиза може да доведе до регресии. Освен това, Bcachefs все още се позиционира като експериментална файловата система и бързината на коригиране на грешки в нея не е толкова критична.
Кент отговори, че основната цел на разработката е да предостави на потребителите работещ код, затова не възнамерява да отстъпва по въпросите, свързани с коригирането на грешки, които влияят на целостта на данните. За разлика от другите подсистеми, грешките в файловата система не се решават с рестартиране и могат да доведат до повреда на данни, затова, според Кент, отлагането на тяхното поправяне до следващото прозорче за прием на промени не е допустимо, дори и подобни корекции да изискват извършването на значителни изменения.
Добавената опция «journal_rewind» връща промените в журнала за възстановяване на файловата система до по-ранно състояние. Кент счита, че новата опция трябва да бъде включена незабавно, тъй като решава проблема с възстановяването на файловата система за потребители, сблъскали се с грешка при изтриване на подкатегории и които нямат резервно копие. Първоначално Линус отказа да приеме пакета с патчи, съдържащ тази промяна в ядрото 6.16-RC3, но след лична кореспонденция с Кент промени мнението си и прие промените в кодовата база, на основата на която ще бъде направено обновление 6.16-RC4.
Източник: opennet.ru
