LINUX.ORG.RU
решено ФорумTalks

Держу в курсе: в ядре 6.6.11 отломали fstrim на nvme

 ,


0

5

На ядре линукс 6.6.11 команда fstrim -v -a даёт неожиданный результат

[  361.729520] nvme nvme0: I/O 768 (Dataset Management) QID 6 timeout, aborting
[  361.729542] nvme nvme0: I/O 769 (Dataset Management) QID 6 timeout, aborting
[  361.729549] nvme nvme0: I/O 770 (Dataset Management) QID 6 timeout, aborting
[  361.729556] nvme nvme0: I/O 771 (Dataset Management) QID 6 timeout, aborting
[  361.729709] nvme nvme0: Abort status: 0x0
[  361.729728] nvme nvme0: Abort status: 0x0
[  361.729733] nvme nvme0: Abort status: 0x0
[  361.729754] nvme nvme0: Abort status: 0x0
[  361.821488] nvme nvme0: I/O 799 (Dataset Management) QID 6 timeout, aborting
[  361.821501] nvme nvme0: I/O 800 (Dataset Management) QID 6 timeout, aborting
[  361.821507] nvme nvme0: I/O 801 (Dataset Management) QID 6 timeout, aborting
[  361.821512] nvme nvme0: I/O 802 (Dataset Management) QID 6 timeout, aborting
[  361.821685] nvme nvme0: Abort status: 0x0
[  361.821704] nvme nvme0: Abort status: 0x0
[  361.821708] nvme nvme0: Abort status: 0x0
[  361.821727] nvme nvme0: Abort status: 0x0
[  391.934516] nvme nvme0: I/O 768 QID 6 timeout, reset controller
[  399.661516] pcieport 0000:00:01.1: AER: Uncorrected (Fatal) error received: 0000:00:01.1
[  399.661532] pcieport 0000:00:01.1: PCIe Bus Error: severity=Uncorrected (Fatal), type=Transaction Layer, (Receiver ID)
[  399.661537] pcieport 0000:00:01.1:   device [8086:2f03] error status/mask=00000020/00000000
[  399.661543] pcieport 0000:00:01.1:    [ 5] SDES                   (First)
[  399.661551] nvme nvme0: frozen state error detected, reset controller
[  455.937017] nvme0n1: Read(0x2) @ LBA 2350616, 8 blocks, Host Aborted Command (sct 0x3 / sc 0x71) 
[  455.937032] I/O error, dev nvme0n1, sector 2350616 op 0x0:(READ) flags 0x81700 phys_seg 1 prio class 2
[  455.943572] nvme 0000:02:00.0: Unable to change power state from D3cold to D0, device inaccessible
[  455.943694] nvme nvme0: Disabling device after reset failure: -19
[  455.949596] I/O error, dev nvme0n1, sector 501375865 op 0x1:(WRITE) flags 0x29800 phys_seg 1 prio class 2
[  455.949615] XFS (nvme0n1p3): log I/O error -5
[  455.949622] XFS (nvme0n1p3): Filesystem has been shut down due to log error (0x2).
[  455.949626] XFS (nvme0n1p3): Please unmount the filesystem and rectify the problem(s).
[  456.977574] pcieport 0000:00:01.1: broken device, retraining non-functional downstream link at 2.5GT/s
[  457.010546] pcieport 0000:00:01.1: Data Link Layer Link Active not set in 1000 msec
[  457.010557] pcieport 0000:00:01.1: AER: Root Port link has been reset (-25)
[  457.010565] pcieport 0000:00:01.1: AER: subordinate device reset failed
[  457.010593] pcieport 0000:00:01.1: AER: device recovery failed

В результате файловые системы на отвалившихся дисках становятся недоступны со всеми вытекающими.

На ядрах 6.5.Х всё работает. Продолжаю наблюдения.



Последнее исправление: u5er (всего исправлений: 1)

Ответ на: комментарий от anonymous-angler

Действительно. У меня ядро 6.6.13, всё норм отработало, в dmesg ничего нет.

anonymous-angler ★☆
()
Ответ на: комментарий от anonymous-angler

XPG Gammix s70 считается NVMe с алика?

Как тогда объяснить корректную работу на предыдущих ядрах? Да и на 6.6 он монтируется и нормально работает. Тут что-то другое.

u5er
() автор топика

в 6.6 отломали

алё, давно пора ставить 6.8-rc1.

token_polyak ★★★★
()
Ответ на: комментарий от u5er

Но он походу умер. Либо, как и в ситуации с Western Digital чуханами, фирмварь которых не соответствует стандарту и тестировалась только на вантузе. Учитвыая что это «игровой» сегмент, было бы неудивительно.

anonymous-angler ★☆
()
Последнее исправление: anonymous-angler (всего исправлений: 1)
Ответ на: комментарий от anonymous-angler

Но он походу умер.

Странное заявление. На предыдущих версиях ядер проблем нет. Из чего ты делаешь вывод, что он умер? Он определяется в системе, с него грузится система. Те файлы, которые не трогались перед факапом, целы. В общем, какие ваши доказательства?

u5er
() автор топика
Ответ на: комментарий от u5er

Это предположение. Сделанное из того, что у меня и Крончека выше всё работает. И это не единственная приведённая догадка. Вторая - что фирмварь корявая.

anonymous-angler ★☆
()
Ответ на: комментарий от anonymous-angler

У тебя версия ядра чуть другая. Я такое словил на ядрах 6.6.11 и 6.6.12. Так что не исключено, что проблему исправили в .13.

u5er
() автор топика
Ответ на: комментарий от u5er

Сейчас 6.6.13, а до этого вроде стояло 6.6.11, но точно не помню.

Kron4ek ★★★★★
()

Ок, подожду ядра .13. Похоже, там этот косяк исправлен.

u5er
() автор топика

Artix, 6.6.13-1-lts, норм. Чево пужаешь? :)

pr849
()

На 6.7.2 точно всё работает. Обновляйся.

imul ★★★★★
()

6.6.11-200.fc39.x86_64 - все работает нормально.

Подозреваю амуде чипсет и диск производства сраньссань технолоджи элтиди.

no-dashi-v2 ★★
()
Ответ на: комментарий от no-dashi-v2

6.6.11-200.fc39.x86_64 - все работает нормально.

Значит я словил какой-то дистроспецифичный баг.

u5er
() автор топика
Ответ на: комментарий от no-dashi-v2

Ну, вам виднее.

Кажется, что fs/xfs/xfs_discard.c - где-то в районе 6.6.11 и шевелили по поводу suspend.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

Не, ты глянь, с чего всё началось и чем продолжилось. Там пошли ошибки по nvme влоть до того, что ядром было принято решение выполнить сброс контроллера. XFS не развалилась, кстати. Пострадали только те файлы, которые относятся к пакетам, которые были обновлены непосредственно перед тем, как я скомандовал fstrim. Из кеша не успели перенестись, наверное.

u5er
() автор топика
Ответ на: комментарий от u5er

всё, что делает fstrim - посылает FITRIM ioctl драйверу файловой системы.

вы говорите, что на старых ядрах работало исправно - в драйвере xfs «abort fstrim if kernel is suspending» - это единственное, что менялось (или я плохо искал).

чудес же не бывает - если есть ядро на котором работает и есть ядро на котором не работает - значит должна быть какая-то разница в коде между ними.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от u5er

Вообще ничего не понятно. Возможно у вас какой-то уникальный случай. Уникальная комбинация факторов.

В идеале - вам бы самому, на вашем оборудовании, найти разницу в коде, которая приводит к подобному поведению и рассказать разработчикам.

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

Подожду ядра 6.7, а там поглядим. Моя практика показывает, что багрепорты игнорируются по большей части. Наверное, это связано с тем, что я выцепляю какие-то редкие баги, а у большинства всё работает, поэтому разработчики и сопровождающие тратят силы на что-то другое.

Я уже однажды сталкивался с поломками. Например, отломанный драйвер карт MemoryStick. Я разобрался в причине, организовал патч и написал автору коммита. Угадаешь, что было в результате?

u5er
() автор топика
Ответ на: комментарий от u5er

Мне сломали мышь Logitech MX в 6.1, я разобрался в причине, написал свой вариант решения разработчикам - пришли нормальные профессиональные люди, выбросили мой наколенный колхоз и сделали нормальный профессиональный патч.

У вас не так?

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

У меня тишина до сих пор, хотя дело было год-два назад. А теперь сравни: где популярная и современная мышь и где карты памяти, которыми пользуются полтора землекопа.

u5er
() автор топика

ядро 6.7.1, самсунговский ssd, «fstrim -v -a» отработал нормально

Manhunt ★★★★★
()
Ответ на: комментарий от anonymous-angler

бренд ADATA, которые не ноунейм.

А как по-моему - качество у него noname-ширпотрёба, так что можно уровнять.

xwicked ★★☆
()

У меня емеип 6.6.7, fstrim выполняется по крону ежесуточно, ничего не умерло и не отвалилось

sehellion ★★★★★
()

Это нормально, раз в пару лет учат делать бекапы.

snizovtsev ★★★★★
()

У меня штук 6 «XPG GAMMIX S70 BLADE», каждый день fstrim и везде роллинг релиз дистрибутивы с обновлением 2-3 раза в неделю. Через 6.6 ветку ядер прошел и проблем не заметил.

altwazar ★★★★
()
Ответ на: комментарий от carasin

всеми вытекающими

У них там в прошивке зашито, чтоб отваливаться на команде fstrim на ядрах таких-то версий?

u5er
() автор топика
Ответ на: комментарий от u5er

Непомерно горячие контроллеры по сравнению с конкурентами. Преимуществ перед Самсунгами и Файсонами нет.

carasin ★★★★★
()
Ответ на: комментарий от carasin

Ну у меня на нём радиатор стоит. На смарт иногда поглядываю - кажет 25-30 обычно. Может конкуренты холодней, а может показывает погоду на марсе - тут я хз, но радиатор на ощупь чуть тёплый.

u5er
() автор топика
Ответ на: комментарий от no-dashi-v2

Нет, XFS тут по факту просто «пострадавшая ни за что»

Не факт, я как-то попытался перевести самодельный NAS на XFS. Скопировал туда файлы, хорошо что только фильмы, и FS спустя пару недель разломалась. Плюнул и вернул все на EXT4.

Xintrea ★★★★★
()
26 апреля 2024 г.

Тоже самое проявляется на 6.7.* и 6.8.*. Продолжаю наблюдения.

u5er
() автор топика

После переформатирования раздела в точно такую же фс, fstrim заработал без проблем.

В общем это какая-то дичайшая дичь. Судя по всему, где-то в ядре нарисовалась какая-то несовместимость, которая вскрылась начиная с версии 6.6.х. На 6.5.х всё работало без проблем.

#готовдлядесктопа

u5er
() автор топика
Ответ на: комментарий от timdorohin

Кино-то интересное. Подтверждает мою догадку об отсутствии должного тестирования в ядре перед приёмом патчей.

На своих машинах я с такой проблемой не сталкивался. Возможно потому, что у меня аптайм никогда не превышает суток(я выключаю компьютеры, когда они не нужны), а в той ветке народ пишет, что проблема возникает при аптаймах в несколько дней минимум.

Ещё заинтересовало предположение, что проблема проявляется только на nvme накопителях. Фишка в том, что у меня xfs стояла на ссд и на ней перестал работать fstrim на ядрах 6.6+. Возможно, собака на самом деле зарыта в драйвере nvme, который в какой-то момент начинает творить дичь и это сказывается на работе «вышестоящих» драйверов разделов и фс.

В любом случае, спасибо за информацию - буду иметь в виду и поглядывать на загрузку проца. На моих ядрах 6.5 и 6.6 я пока не сталкивался с такими сбоями.

u5er
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)