> Иди и отаудить вон, к примеру, новый exfat. А в чем проблема? Я его по диагонали смотрел даже. Код как код. Не предел мечтаний, ну так он и валяется в staging пока не причешут. В новой версии стало явно лучше чем раньше.
> Там пацаны все сделали по правилам (они ж корейские, шеф сказал - пацан сделал, не
> уложился в 12 рабочих часов - задержался на работе на 18,
Когда сделают по феншую - из staging/ переедет в fs/ ;)
> целесообразность распиливания уже работающего обратно в мелкие лоскуты обсуждать не принято)
Он таки распилен на core, cache, super и nls. Наверное можно и гранулярнее, но он вроде не такой уж и огромный. Насколько это надо - пусть майнтайнеры и Торвальдс решают, у них башня на плечах есть и я уверен что вменяемые компромиссы они найдут.
> в сравнении с другими подсистемами ядра, и его действительно можно посмотреть просто глазами.
Ну так exfat и задуман быть относительно простой ФС. Иначе сдался бы он кому, аж два раза. Он и так то странная хрень, довольно тухлая технологически и единственный аргумент "за" - в SDXC как стандарт прописан, ms в свое время пролоббировал.
> А с какой-нибудь btrfs - ну, успехов тебе пожелать не могу, поскольку в них не верю.
А напрасно. Я не мегаразработчик, но там народа в теме и без меня есть. А пару очень странных corner cases на пожевать я им нашел :)
А чисто поржать, мне как-то так все же нравится:
[5482290.921347][T31745] BTRFS error (device mmcblk0p2): bdev /dev/root errs: wr 0, rd 0, flush 0, corrupt 230, gen 0
[5482292.174157][T31745] BTRFS error (device mmcblk0p2): fixed up error at logical 653606912 on dev /dev/root
...еж пищит, кряхтит, орет, но живет :). Это он на сыпучей SD карте в железке, с dup данных и метаданных. Просто для сравнения ext4 к этому моменту был бы уже unbootable.
> Или с интеловским драйвером 10Ge.
А вот этого ты как-нибудь сам.
> что его разработчикам нахрен не надо преодолевать выдуманные грабли.
А мне тоже не надо чтобы на меня абы какой код вываливалил самосвалами. И я как раз очень рад что на моих воротах такой вратарь как Торвальдс, отбивающий такие плюхи. Ядро и так не маленькое, чтобы всякие туда свои самосвалы гуано абы как выгружали. Для этого газуйте в могильник апача. В случае exfat там еще немного сдвинули компромисс, из-за сильной востребованности фичи и поэтому активного желания народа причесать до ума эту штуку.
> если фатальные проблемы позакрывать с notabug - конечно.
Ну как бы говоря за себя у меня нет фатальных проблем.
> закрытой с формулировкой "ну мы хз где она была, УМВР" (первые
> попытки ее так закрыть делались сразу по поступлении) - так и не найден.
Вообще-то таки если разуть глаза то можно найти подробное исследование что за нафиг творился: большая очередь страниц на отжим ядром vs медленный накопитель, и как результат проги дружно встрявшие на попытке выделения памяти до момента пока ядро не выжмет все гигазы кэша на какуюнить флеху с скоростью записи пару мег в секунду, так что все и курили бамбук пока это происходит. Ну так и пофиксили, лимитировав кэш для тормозных сторажей.
А то что всякие бакланы накидали еще 20 совершенно отдельных проблем туда же - кто ж им виноват что они бакланы?
> затронуто несколько комплексных систем ядра - и, внезапно, подход "порежьте и
> заверните в салфеточку" тут не сработал.
Взаимодействия софта и железа вообще не совсем тривиальные. И предусмотреть заскоки вообще всех мыслимых комбо - ага, ща. Это только Шишкин может, в теоретических бумажках. На практике стораж вон отдаст битую страницу с трухой и даже ошибку не зарепортит. И все теоретические рассусоливания пойдут лесом с интересом.
> перепала доля малая, но на постоянной основе - это вот только
> у Линуса и вышло.
Ну так этим он и крут. И вообще, он популярно объяснил - делиться надо. Можно и борзыми щенками, ему так ок. Нормальная позиция имхо. В отличие от лоховатых пермиссившиков, которыми корпы пользуются в режиме туалетной бумаги, попользовали да выкинули.
> А мертвого и криво работающего кода в ядре - дофига и больше.
Совсем тухляк периодически вытряхивают. Как только начинает создавать проблемы и это не фиксится - опачки.
> Или вот просто отвратительного by design - забрел я как-то в недра
> drivers/usb/serial/option.c - о...ел мрачно (не ходи туда, я предупреждаю!).
Забавный драйвер. Но если еще и шапку прочитать, там расписано почему это появилось. Такой себе catch all для дурных по своим свойствам железок имеющим много общего, но - с персонализированными причудами. Теоретически это наверное вообще должно быть где-то не там (aliases какие-нибудь?) но практически оно должно еще знать кой-что о заскоках конкретной железки. Оттуда и километровые таблицы.
> экран все влезает, ни разу не прилетело авторам пинка "вы там
> совсем долбанулись, ctrl-c/ctrl-v макаки?!"
Так это ж постепенно небось присылали - и в виде патча в экран спокойно влезало.
Пардон, я имел дело с подобными железками и знаю что они из себя представляют. Там еще спасибо если хотя-бы зацепится как нечто юзабельное, а то еще сперва извольте usb_modeswitch сначала сделать, пульнув какой-то железкоспецифичный крап в юсб! И там еще такие клевые таблицы примерно такого же размера и свойств у udev'а есть, даже покруче, рассказывающие как usb_modeswitch для вот конкретно этой каки звать :)