O que é o Sysrq + J “Descongele sistemas de arquivos congelados” e por que ele falha?

5

Espera-se descongelar processos que estão ininterruptamente interrompidos devido a problemas no sistema de arquivos (NFS, FUSE, bug)?

Se eu pressionar Sysrq + J no meu Linux, ele pára o sistema e imprime "Emergency Thaw on sda" em um loop indefinidamente, não permitindo nenhum outro SysRqs? Apenas a reinicialização em disco ajuda.

    
por Vi. 22.11.2011 / 18:38

2 respostas

2

Este é um bug no kernel: link

    
por 20.09.2012 / 14:35
1

Este é um bug no kernel e ainda está presente no kernel 3.13 amd64 (do Ubuntu Trusty).

Como _Vi foi testado em sua VM usando VBoxManage controlvm <vm_name> keyboardputscancode 1d 38 54 24 a4 d4 b8 9d com os seguintes resultados:

3.3.6-pf-vi+  : Reproducible
3.2.0-zen-vi+ : Reproducible
3.0.4-zen-vi+ : Reproducible
2.6.37.5-zen-... : Reproducible
2.6.33-zen2-... : Reproducible
2.6.32-zen1-... : Reproducible
2.6.31-zen11-... : Not reproducible
2.6.30-zen2-... : Not reproducible

De Dave Chinner, podemos ler:

The thawing of a filesystem through sysrq-j loops infinitely as it incorrectly detects a thawed filesytsem as frozen and tries to unfreeze repeatedly. This is a regression caused by 4504230a71566785a05d3e6b53fa1ee071b864eb ("freeze_bdev: grab active reference to frozen superblocks") in that it no longer returned -EINVAL for superblocks that were not frozen.

Deeper problems arose on further inspection - filesystems frozen with freeze_super() could not be unfrozen by thaw_bdev() so emergency thawing didn't work on anything manually frozen, and deadlocks on sb->s_umount occur as superblocks are iterated in the emergency thaw with it already held for read.

Everywhere we freeze or thaw, we already have a superblock or can get one easily so could call freeze_super() directly. Hence we can kill the bdev level operations and move all the nesting infrastructure up into the superblock level so we have a single consistent interface.

Fonte: Re: 2.6.34 echo j > / proc / sysrq-trigger causa o evento inifniteunfreeze / Thaw no arquivo da lista de discussão linux-kernel

    
por 27.02.2015 / 15:15