Como criar um evento falso de inotify no debian?

5

Eu tenho uma caixa dedicada rodando minidlna em arquivos de mídia de fornecimento Debian de uma unidade cifs compartilhada.

Quando eu adiciono um novo arquivo ao compartilhamento que não usa a caixa midia, o minidlna não reconhece os novos arquivos, pois um evento inotify não é criado.

Encontrei uma solução alternativa para reconhecer novos arquivos que estão sendo tocados na caixa de mídia de tempos em tempos, mas não funciona para pastas, pois o minidlna só identifica IN_CREATE & IN_MOVED_TO eventos para pastas e toque não criam esses eventos para pastas.

Então, gostaria de saber se existe alguma outra maneira de criar esses eventos "falsos" ou se você sabe como posso ter um desses eventos para uma pasta sem ter que movê-lo.

    
por Victor Cesto 06.11.2014 / 13:28

1 resposta

0

O que acontece se você mount -o remount o sistema de arquivos CIFS?

Isso soa como um bug na implementação do CIFS, em que os diretórios não estão acionando os eventos de notificação corretamente.

Não encontrei referências sobre a injeção de eventos em um fluxo de inotificação existente. Suponho que poderia ser feito usando o SystemTap, mas isso não é prático. Uma solução melhor é arquivar um relatório de bug em ReadyMedia (nome atual do projeto em SourceForge.net).

Eu dei uma rápida olhada no código para notify.c no SF.net e ficou bom, mas apenas 30 segundos deixaram claro que havia um vazamento de memória no código que adiciona / remove os relógios. :( No entanto, parece que modificar o código para suportar corretamente a notificação em diretórios não seria difícil.

    
por 06.05.2015 / 02:24