Com que finalidade um driver de dispositivo de bloco usa números menores?

1

Depois de ler o capítulo sobre drivers de dispositivos de bloco no livro "Entendendo o Kernel do Linux", estou um pouco confuso sobre o uso de números menores.
Eu li antes sobre números maiores e menores e seu uso. Portanto, os principais números identificam o driver a ser usado para manipular solicitações de E / S no disco rígido físico. Números menores são usados apenas pelo próprio driver para identificar vários discos rígidos e partições. É assim que é descrito em quase todas as explicações que encontrei.
No capítulo do livro acima, o autor diz que, durante a inicialização, o driver cria uma estrutura gendisk para cada disco rígido existente, no qual ele registra apenas o primeiro número menor utilizável e a quantidade de números menores disponíveis. Portanto, antes que o disco rígido seja acessado, a camada de bloqueio geral do kernel converte o número de setor relativo dentro de alguma partição para o número de setor absoluto dentro do disco rígido. Portanto, o driver de dispositivo não precisa se preocupar com nenhuma partição. O único propósito que posso imaginar é distinguir entre discos rígidos diferentes, mas não partições. Eu acho que estou errado e seria ótimo se alguém soubesse a verdade.

    
por idlmn89 22.08.2018 / 05:25

1 resposta

0

The only purpose I can imagine, is to distinguish between different hard disks but not partitions.

Isso está correto.

Existem muitos drivers de dispositivos de bloco e muitos tipos de partições. O driver de dispositivo de bloco subjacente não é necessário para implementar qualquer manipulação de partição, exceto para definir o número de partições suportadas.

A principal coisa que a exceção é usada é não incomodar o suporte a partições em dispositivos como o LVM, onde eles geralmente não são necessários.

(Se você fizer precisar que o kernel forneça subpartições no LVM, você pode usar kpartx que cria novos dispositivos de mapeamento de dispositivo, com nomes de dispositivos que convenientemente se parecem com o padrão de nome de partição normal ).

    
por 22.08.2018 / 09:21