Файловая система Bcachefs будет удалена из основного дерева ядра Linux. Несмотря на технические достоинства и активное развитие, судьба проекта осложнилась из-за затянувшегося конфликта между его автором Кентом Оверстритом (Kent Overstreet) и ведущими мэйнтейнерами подсистем виртуальной памяти (VM) и файловых систем (FS)...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63717
Ссылка на сайт bcachefs, ссылка на статью опеннета о включении bcachefs в состав ядра, июньская новость о конфликте и возможном исключении bcachefs из состава ядра.Так и не понял, что ноаого-то произошло?
таки возможное стало свершившимся. В целом, конечно, и хрен с ней, поскольку layered fs нужны примерно никому, штука основанная опять двадцать-пять на btree (про который Шишкин все уже написал), EC не работает, навечно, видимо, застряв в incomplete, снапшоты и сабволы даже еще более примитивные чем у бырбыры, ни для бэкапа ни для управления пространством не годятся, just a fancy directories (которые еще и долго удаляются).т.е. никакого применения ни в промышленности ни для хомячков не просматривается даже при идеальном сценарии, только для любителей подкроватных серверов с "от шести до восьми сата коннекторов".
вот для подкроватных сервов как раз ничего кроме него нету
Голосование на острове в какой серии было?
> проблема носит системный характер и касается ... всей группы мейнтейнеров файловых систем и подсистемы виртуальной памятиВот это разборки там... Может пора заморозить ядро?
Ну заморозь себе ядро, выбери версию и зафиксируй, кто ж мешает.
Это как-то поможет COWбоям не лаяться между собой?
> Вот это разборки там... Может пора заморозить ядро?LTS ядра сэру не того, религия юзать не позволяет, или что?
Этот Кент тот еще кент, конечно, но думаю - дело не в этом. Bcachefs, развиваемая Кентом почти в одиночку, выглядит сильно приличнее btrfs, в которую вкинуты лямы денег и человеко-часов. Просто кто-то не умеет признавать ошибки и пользуется своим служебным положением.Ну а Линус давно на крючке у тех корпов, что им пользуются. Я бы даже сказал - на CoC'е.
Может и приличнее, но медленнее.
но и btrfs не пушка. вот даже в последних апдейтах чёт там бустят, давно вышедшее
Bcachefs теперь будет как ZFS - сбоку прикручен на скотч...
Реальных причин две: 1) Линус уже старый и его мозг не тянет постоянный хакинг ядра 2) у корпораций своё видение того, как должны выглядеть файловые системы
разработчик фс - это как клеймо на социальных скилах. что с ними не так
Слишком умные? Хотят достигать результата, а не просто одеваться по моде и обсуждать у кофемашины прошедшую поездку в отпуск?
тот который в тюрьме сидит - тоже из этих, умных?
Не, это точно нет.
Он книги "как заметать следы после убийства" купил после(!!) совершения преступления.
Странно что он не косил под умственно отсталого))
Я сильно сомневаюсь, что в США (или в любом другом государстве) могут в принципе продаваться такие книги. Свобода письменного книжного слова и публичных выступлений в США, конечно, священны, но если докажут что хоть один преступник, купивший книгу, воспользовался советом из неё для реального преступления - то сядет и продавец книги, и издатель, и автор, как соучастники, которые специально в качестве пособничества в совершении преступлений книгу делали и распространяли.
Придумывайте. Книги по форензике продаются свободно.
> Свобода письменного книжного слова и публичных выступлений в США, конечно, священнысмешно. Хoxлы до сих пор так думают
Одни названия чего стоят: "Поваренная книга анархиста" "Как убить" (в 6 томах между прочим) , "Руководство Унабомбера по взрыву университетов" , "Азбука домашнего терроризма" , "Активное гражданское неповиновение" , "Азбука домашнего терроризма" ... Американцы самая читающая нация в мире . :)
Из слишком умных, да.
Шишкин был прав.
Кент 100% прав - критические исправления ФС должны вноситься немедленно.Поэтому у него нет другого выбора как НЕ быть привязанным к разработке ядра.
Линус всё верно разрулил.
И да, и нет.Дистры очень неохотно включают патчи для больших фич.
В Fedora их практически нет - уже засада.
Насчёт Debian/Ubuntu не в курсе.
Arch как будто не против.
> критические исправления ФС должны вноситься немедленно.Критические исправления ФС вноситься вообще не должны, потому что в код изначально не должны попадать критические проблемы для которых нужны критические исправления. Пусть идёт на курсы повышения квалификации и учится в тестирование.
Но это, с другой стороны, касается и всего ядра. Было бы нормальное тестирование, не нужны были бы заморозки и эти окна слияния из прошлого века. Индустрия давно уже доросла до stable trunk, только отдельные монокопролиты за ней не успевают.
> Было бы нормальное тестированиеМожно ваше мнение, как именно нужно тестировать проект, основная задача которого скрывать в себе костыли для работы с железом, чтобы прикладному софту казалось, что всё работает как надо? И как это сделать, чтобы производительность не выглядела так, словно ядро написано на интерпретируемом языке?
Добавить слоёв абстракции/виртуальных методов/инверсий зависимостей, чтобы кривые железки можно было замокать? Держать ферму всего поддерживаемого железа? Тренироваться(зачёркнуто)Тестировать на кошках(зачёркнуто)виртуалках? Юнит-тестирование или сразу всё ядро (или "И" сразу всё ядро)? Покрытие анализировать?
Просто интересно. Я сам разработчик, примерно понимаю, как тестировать системы по перекладыванию данных из постгри в гуголхром и обратно. А вот как тестировать низкоуровневый код, работающий с железом, даже примерно не представляю.
> не нужны были бы заморозки и эти окна слияния из прошлого века
Можно пример реального проекта, настолько хорошо покрытого тестами, что среди ночи по звонку инвестора можно без опасений на боевой сервер деплоить?
>Тренироваться(зачёркнуто)Тестировать на кошках(зачёркнуто)виртуалках?Уважаемый, вот возьмите пожалуйста, и не страдайте так!:)
https://symbl.cc/ru/tools/strikethrough-text/
https://fancy-generator.com/ru/strikethrough-text-generator
https://exotictext.com/ru/strikethrough/"Т̶р̶е̶н̶и̶р̶о̶в̶а̶т̶ь̶с̶я̶ Тестировать на ̶к̶о̶ш̶к̶а̶х̶ виртуалках?"
Какие нахрен железки, вася? Под ФС уже абстрактное блочное устройство, она ни про какое железо знать не знает и не должна.В ядре как оно есть сейчас ты как минимум можешь разместить его в памяти и тестировать работоспособность на любых кейсах. Перф обычно тестируется на реальном железе, всё поддерживаемое тебе не нужно, нужно по модели на значимый класс устройств. При желании можно реализовать виртуальное устройство с нужной моделью задержек или ошибок и тестировать на нём, но это отдельная большая задача, и не знаю насколько это оправдано.
> Юнит-тестирование или сразу всё ядро (или "И" сразу всё ядро)?
Юнит и интеграционное тестирования ортогональны, поэтому естественно оба. Только в интеграционное тестирование ФС всё ядро не должно входить, в него должна входить ФС. Поэтому если бы ядро было не раковой опухолью, а хорошо спроектированным программным продуктом, у ФС был бы фиксированный интерфейс, взаимодействующий с VFS слоем с одной стороны, и с блочным устройством с другой. Тогда для тестирования ФС не надо было бы собирать и запускать ядро целиком - её можно было бы собрать в userspace бинарник и прогнать тесты на два порядка быстрее чем с поднятием всего ядра даже в виде userspace процесса, включая ещё и какой-нибудь фаззинг, и работать с этим обычным userspace инструментарием включая отладчики, санитайзеры, valgrind'ы и miri, без какой-то особой поддержки в ядре и хоть из-под венды. Одновременно было бы исключено влияние ненужных систем ядра, как собственно vfs слой сверху и всякие кэши снизу, которые могут маскировать отдельные ошибки. Также все ФС можно было бы тестировать одним фреймворком, тривиально использовать в других ОС и в fuse. И разрабатывать ФС можно было не привязываясь к релизному циклу ядра вовсе и ни с какими левыми людьми не взаимодействуя. Но увы, у нас stable api nonsense, ядро - монолит из окаменевшего г-на, и разработчики ему подстать, застрявшие на модели «наговнякали что-то → запретили говнякать дальше → объявили это rc → надеемся что кто-то это погоняет в хоть чуть-чуть похожих на продовые условиях → ждём случайное время → объявляем релизом → держим "стабильную" ветку чтобы было на что кивать когда мы со своими rc просрали критические баги».
> Покрытие анализировать?
Странный вопрос. Естественно, только не процентики растить, а смотреть какие пути покрыты тестами.
Возможно Кенту следует почитать книги по разработке?
Там есть такие интересные разделы как тестирование.А то вываливать пользователям кучу кода, который им грохает данные.. это не профессионально, что ли.
> кучу кода, который им грохает данныеДрайвер же был "в разработке". Никто и не ожидал, что он будет стабильно и надёжно работать. В чём проблема?
> книги по разработке
Тем временем "книги по разработке": "Не бывает софта без ошибок!"
> А то вываливать пользователям кучу кода, который им грохает данные.. это не профессионально, что лиЛитерали всему линуксу можно, а ему нет.. это предвзято, что ли
Давно пора, надоело уже про эти сопли читать.Пострадают от этого решения и bcachefs и ядро, но туда им обоим и дорога. В одном архаичные процессы с патчами голубиной почтой, окнами слияния, руганью каких-то человечков и некомпетентным как в разработке, так и в организации оной царьком, вместо полноценного тестирования, автоматического контроля качества кода, тенденций и желания уменьшать связность и вводить стабильные API (а в VFS это сам бог велел). А другой просто упёртый, который не понимает или намеренно не выполняет условий поведения в общественном пространстве. Последнее решается постановкой чётких условий и блокировкой любой деятельности до их выполнения. Не можешь договориться со смежниками, есть претензии к качеству кода, флапают тесты, но хочешь закоммитить багфикс? Не колышет, иди договаривайся, причёсывай код и чини тесты. Из-за этого в релиз может попасть код без важного багфикса? Значит код не попадёт в релиз.
Всё оно так, и я об этом говорю уже лет 20.Настолько огромный и важный проект разрабатывать по ... почте?
Это шутка такая?
Нет.
Оно конечно подустарело... но!
Это вполне себе решение для _настолько_ распределённой разработки.
А ты зря вошёлвайти(С), лучше выйди отседа! :)
Work on 6.16 came from 2,057 developers
Это что много?
Особенно с учетом, что они пилят разные куски к̶о̶п̶р̶о̶л̶и̶т̶а̶ монолита.Я думаю голубиная почта это просто дань дидам, которые нового осилить не могут.
У линукс фоундешн есть достаточно ресурсов для создания или развертывания своего багтрекера/системы управления проектами.Зато удобно искать свой ответ на свой вопрос в письме 21/25.
Если его вообще заметят)
А в чём ещё такой прорве народа скидывать код, в дискорде?
Ничего лучше plain text человечество не изобрело
Если почта древнее зло, то ты предлагаешь в замен?
> Это вполне себе решение для _настолько_ распределённой разработки.Linux ничем уникальным в своей распределённости не является. Даже примечательным. Есть на порядок большие по размеру кода и числу участников как свободные проекты, так и монорепы бигтеха, и везде для менеджмента кодовой базы включая issue, pr и код ревью используются инструменты для этого предназначенные, а мейллисты используются только в linux и ещё десятке древних "проектов одного деда". Что намекает что linux такой же проект.
> Есть на порядок большие по размеру кода и числу участников как свободные проекты, так и монорепы бигтехаНапример какие?
> потребует от Кента активного участия в других проектах ядраНафига Кенту участвовать в чем-то кроме файлухи?
Или это типа в нагрузку чтобы грехи отмаливал?> и сотрудничества с уважаемыми мэйнтейнерами.
Ахаха! Кучку старых увОжаемых прдунов держится зубами за насиженное местечко и гнобит молодых. Никогда такого не было и вот опять.
Жаль нет подробностей с кем именно он поругался.
> Нафига Кенту участвовать в чем-то кроме файлухи?Вообще, Кент посылал изменения в MM и VFS, и там были вещи, которые по качеству совсем не очень, и фиксы были достаточно критичными.
> Жаль нет подробностей с кем именно он поругался.
Если почитать LKML, всё там есть.
Зачем вообще начитать какой-то срач по поводу поздних пулов? Двигаешь в след. релиз и точка.
> Нафига Кенту участвовать в чем-то кроме файлухи?потому что у нас уже есть одна zfs где
#ifdef SOLARIS
мы возвращаем системе память как только она ей потребовалась
#else
да идите вы... нате вам tunable ограничивающий общее потребление и крутитесь как хотите
(потому что в вашем ядре нет нужных нам интерфейсов и пропихнуть их невозможно)
#endif
С разморозкой! зфс последний раз десять лет назад видел?
Часто одна из бед очень талантливых людей - это отсутствие скиллов по общению и урегулированию разногласий. Если бы Кент был хоть чуть чуть спокойней, уравновешенней и рациональней, ничего бы этого не произошло.А сейчас на кону его ... контракт с Valve - да, он проболтался об этом на форуме Phoronix, и я беспокоюсь за него. То же самое он подтвердил в личной переписке.
Это, наверное, самая печальная новость в мире Линукса за всё моё время его использования - скоро как 30 лет.
Цитировать Линуса не могу, но, да, он буквально сказал, что Кенту придётся посидеть на обочине разработки основной ветки ядра. В 6.18 bcachefs выкинут на неопределённое время.
Всем удачи,
Артём
Да это всё понятно...
Но хорошую (в теории) ФС - мы теперь не получим...
Может конечно случится чудо ... да кто ж ему дастЪ?!(С):(
казалось бы - ну вульве-то нахрена очередная бырбыр фесе? Им что, для консоли не хватает одного диска?
Не могу цитировать Кента, но Valve нужна ФС, которая одновременно может* содержать immutable base volume
* поддерживать для него компрессию
* работать быстро
* поддерживать RW overlaybtrfs как будто подходит, но она тормозная и tooling ужасный.
Артём
странные оне... казалось бы - любая (пусть ext4) в r/o, и любая из десятка васянских overlayfs для rw должны быть в разы проще и быстрее, разьве что со снапшотами ничего не получится.бырбыр на ровном месте могущая спросить за консольку, для пароплойки, понятно, не годится
но хотя бы становится ясным, для кого понапихана вся та стремная автоматика прямо в ядре.
как минимум дедупликации нету, которая учитывая особенности Proton увы актуальная
Артем, а где можно посмотреть код, который вы написали за 30 лет использования линукса? Реально интересно, спасибо заранее.
Столкнулись два барана на горной тропе. Победил старый самец.
> Столкнулись два барана на горной тропе. Победил старый самец.Два О_о?
Да там этих баранов - половина переписки!
Один просто решение принял.
> Часто одна из бед очень талантливых людей - это отсутствие скиллов по общению и урегулированию разногласий.Это как раз беда средненьких по всем параметрам людей - с одной стороны они, ввиду сильно нелинейного распределения скиллов, круче 95% своих коллег, с другой, в абсолютных значениях далеки от настоящих талантов, поэтому и впадают в заблуждение относительно своего уровня и ценности. Талантливые люди, даже не обладая развитыми социальными навыками, имеют чёткое понимание ситуации и рациональное мышление, и могут строить поведение так чтобы не создавать конфликтов и спокойно добиваться своих целей.
Каждый раз когда Линус пытается прояснить ситуацию получается хуже чем если бы ничего не комментировал.
> обещания "вести себя лучше" недостаточны — нужны реальные доказательстваКогда Интел пихал в ядро "инклюзивный" нейминг, то Линус молчал в тряпочку, а тут грозный альфа лев.
А это ужасный "инклюзивный нейминг" пользокам портил данные на диске?
Или может его пихали в фазу разработки, когда нельзя было, как наш герой - фичи под видом фиксов?Ну так поэтому и мочал, от нейминга мало кому холодно или жарко, в отличии от.
данные юзеры сами решают отдавать ли альфа версии ФС
другое дело раздутые мусорные заголовки амд и интел
файловые системы это опасная тема, детинужна психологическая оценка длительной работы с кодом передовых файловых систем на языке C
Корову не поделили?
https://lore.kernel.org/lkml/22ib5scviwwa7bqeln22w2xm3dlywc4.../Какая бы файлуха не была крутая, она не нужна, если её единственный создатель\меинтейнер неадекват. А то не дай бог как с Хансом Райзером приключится ситуация.
Кент, го к нам в BSD развивать файловые системы.
Ему уже Valve за это платит, так что вряд ли.
Эта драма уже всех порядком утомила. Но Кент тут скорее прав. С одной стороны. А, с другой, "в чужой монастырь" -- это про него.
>Материал написан, как результат личной переписки с Линусом и Кентом, которая, к сожалению, не позволяет разглашать более подробные детали.Артём, кто вы такой, что вам личную переписку доверяют?
Всего лишь опеннетный эксперт) А опеннетные эксперты, как известно, даже по-круче лор'овских будут!
Начало тут:
https://www.phoronix.com/forums/forum/software/general-linux...
>при котором изменения не приводят к перезаписи данных - новое состояние записывается в новое место, после чего меняется указатель актуального состоянияОчень умно, ага. Вот есть миллиард перезаписей, повторяющихся в цикле, как скоро диск забъется от такого?
Не забьётся никогда - место-то освобождается. Но износится и сдохнет. На радость грамотным потребителям, которые на оеннете будут вопить не только про то, что "как хорошо что старые камни выбросили", но и про то что "как хорошо, что бесполезному балласту общества, бомжам, их место на свалке указали. ССД требуется, не хочешь ССД - наслаждайся неприемлимой производительностью, а что ССД сдохнет - так зарабатывай и меняй вовремя, будь продуктивным членом общества, или на свалке с бомжами живи"