Mesmo estando em 2021, vários anos após a criação deste dispositivo, ainda temos usuários de disquetes espalhados pelo planeta. Acontece que, na verdade, há pessoas executando versões modernas do kernel Linux em 2021 que também usam disquetes. Isso mesmo, um instrumento que existe há três décadas continua em uso. Mesmo não sendo tão intenso assim.
Resta muito código de hardware antigo dentro do kernel Linux, como entusiastas que mantêm o suporte da série 68000 da Motorola, entre muitos outros hardwares antigos e muitos drivers para periféricos que não são vendidos há muitos anos – incluindo o código de disquete. No entanto, como costuma acontecer, além de se tornar cada vez mais raro para usuários de hardware antigo em geral, é cada vez mais raro encontrar proprietários de computadores antigos executando versões modernas do kernel Linux. Mas alguns ainda o fazem, com o exemplo mais recente sendo um relatório de regressão sobre o driver de disquete do Linux.
Em fevereiro já havíamos mostrado sobre como o kernel Linux ainda apresenta trabalho ocasional em seu suporte a disquetes depois de trinta anos. Esse patch foi posteriormente integrado e também portado para a série estável anterior do kernel.
Linux corrige driver de disquete e usuários só percebem alguns meses depois
Depois de quase meio ano, descobriu-se que o código de disquete mais recente regrediu o comportamento do driver existente. Há um relatório de bug informando que o driver de disquete regrediu no kernel Linux 5.10 LTS após a alteração ser portada de volta. O driver de disquete ainda funciona em grande parte, mas algum comportamento foi alterado de forma não intencional/silenciosa. Mais notavelmente, não conseguir abrir um disquete protegido contra gravação.
O problema tem o seguinte relato:
Desde FOREVER antes do patch, ao usar O_NDELAY, pode-se abrir o dispositivo de disquete sem nenhuma mídia inserida ou mesmo com uma mídia protegida contra gravação sem erro. O status “Sistema de arquivos somente leitura” é retornado apenas quando realmente tentamos gravar nele. Temos software ainda em uso hoje que depende dessa funcionalidade. Após o patch, se nenhuma mídia estiver na unidade, a abertura falha com “nenhum dispositivo ou endereço. Se a mídia flexível estiver protegida contra gravação, a abertura falha com o “Sistema de arquivos somente leitura.
O commit que muda o comportamento de manuseio do disquete é a mudança de fevereiro. Infelizmente, não há uma correção limpa como a mudança de código resolve um problema com libblkid. Portanto, agora uma nova solução precisa ser descoberta para manter o código de disquete do Linux em 2021 com kernels recentes.
Via Phoronix