Não é um erro do kernel: em vez disso, é um aviso do kernel que o aplicativo em questão está usando a API (E / S assíncrona ou E / S direta) de maneira ineficiente.
Do código-fonte :
/*
* This tests whether the IO in question is block-aligned or not.
* Ext4 utilizes unwritten extents when hole-filling during direct IO, and they
* are converted to written only after the IO is complete. Until they are
* mapped, these blocks appear as holes, so dio_zero_block() will assume that
* it needs to zero out portions of the start and/or end block. If 2 AIO
* threads are at work on the same unwritten block, they must be synchronized
* or one thread will zero the other's data, causing corruption.
*/
Portanto, o programa em questão está tentando usar as E / S assíncronas ou APIs de E / S diretas com buffers de memória que não estão alinhados aos limites de bloco do sistema de arquivos, o que força o sistema de arquivos a executar as operações assíncronas no arquivo em série para evitar corrupção.
Se o programa que aciona o aviso for um que você escreveu, você poderá ajustar como ele usa as APIs AIO ou DIO para evitar o problema. Se não é o seu programa, ou você não está usando as APIs diretamente, então provavelmente não há muito que você possa fazer além de preencher um relatório de bug contra o programa problemático.
Por que vale a pena, esse aviso é limitado a uma taxa por dia, portanto, ele não deve preencher seus registros.