> То то в новых ядрах 1,5 сек задержку перед выключением пришлось возвращать
> (1,5 года назад). Есть команды но нет гарантииДа, вы знаете, фирмвары у девайсов бывают забагованые и кривые. Но это баг и нарушение спеков стандарта - и в этом случае предъявлять что либо ядру, фс и проч не айс. Если кто купил глюкало, пусть его MFRу и пеняет.
В кернеле воркэраундят популярные глюки, конечно, если это возможно, по мере возможности - потому что работать приходится в идеальном мире, в том числе и на откровенно гунявом железе с индусскими фирмварами. Они вон даже спектры у процов заворкэраундили.
Но тут стоит понимать что воркэраунд в ядре - не решает проблему нарушения девайсом семантики на которую файлухи закладывались. Практически все ФС при журналинге и проч уповают на то что вон те операции с сбросом кеша - работают. Если это не так, крахи и слет питания ведут к UNDEFINE с практически любой ФС. Что там дальше будет - да что угодно в принципе. Это факап за пределами допущений ФС. Против лома нет приема.
> что эти команды выполнены- очень разработчики ext4 с этим мучились, особенно на ноутбучных
> винтах был этот гемморой. Сейчас просто производителей жестких -на пальцах можно
> посчитать, но все равно глюки случаются,особенно с флэш дисками ,
Более того - такие приколы и у SD-card были. Нокия в свое время агресивно снимала питание с карт после команды шатдауна, как по спекам писано. И тут оказалось что как минимум Transcend спекам не соответствует и - отлично разлетается если так делать. И пришлось им ажно слать патчи в mmc подсистему ядра.
> а про аппаратное стирание на флэшках и говорить нечего.
Там максимальное время операций трекается машиной состояний и больше чем в спеках не будет, как максимум erase/program error в статусе чипа будет. Но пока до этого всего дойдет, там еще чертова куча кода фирмвары писаной хзкем. И у нее могли быть какие-то сильно свои идеи. Как показал пример допустим самса с EVO, иногда эти идеи бывают странные и они вот например TRIM нормално не смогли в некоторых девайсах, да так что девайс чуть не харакири себе делает с определенными сочетаниями запросов. Пришлось и это воркэраундить, заведя список гамняшек, с точностью до девайса и версии FW, их quirks, и явно избегать проблемные операции для таких.
У особо голимых флешастых устройств может FTL вообще в такой ситуации развалиться - и тут вообще ничего вы не сделаете, там вместо данных их нарезка на полосочки из стоража идет. Это уже только специализированая лаба смогет прочитать вообще.
И все же, по спекам так быть не должно. И ФС пишутся все же с опорой на эти спеки. Потому что ВСЕ мыслимые глюки ВСЕХ девайсов учесть на фазе дизайна не получится. А дальше уж пытаться воркэраундить в меру талантов. И вот тут оно может прокатить а может и нет. Разумеется новый дизайн на этапе проектирования может пытаться учесть траблы предшественников, но на 100% это нереально.