Eles são os primeiros quatro bytes no buffer retornados de um comando de modo (veja drivers / scsi / sd.c, sd_mode_sense ()). O significado pode ser obtido olhando para drivers / scsi / scsi_lib.c, scsi_mode_sense ()): esta rotina retorna uma estrutura chamada "data" que, de acordo com um comentário, abstrai os dados do cabeçalho do modo; os dois primeiros bytes no buffer (00 e 3a) são os bytes de ordem alta / ordem baixa do comprimento de "dados" menos 2, o terceiro byte (00) é o medium_type e o quarto byte é específico do dispositivo:
data->length = buffer[0]*256 + buffer[1] + 2;
data->medium_type = buffer[2];
data->device_specific = buffer[3];
Assim, o tamanho dos dados- > é 0 * 256 + 0x3a + 2 = 60, o medium_type é 0 e quem sabe o que o quarto byte significa ... (BTW, o printk
que imprime o modo Mode Sense: é rotulado KERN_DEBUG
por isso não é realmente destinado ao consumo regular).
Você pode usar sg_modes
do pacote sg3_utils
para examinar coisas como essa sem precisar ir ao extremo para traduzi-las:
# sg_modes -a /dev/sg0
ATA SAMSUNG MZ7LN512 4L0Q peripheral_type: disk [0x0]
Mode parameter header from MODE SENSE(10):
Mode data length=60, medium type=0x00, WP=0, DpoFua=0, longlba=0
Block descriptor length=8
> Direct access device block descriptors:
Density code=0x0
00 00 00 00 00 00 00 02 00
>> Read-Write error recovery, page_control: current
00 01 0a 80 00 00 00 00 00 00 00 00 00
>> Caching, page_control: current
00 08 12 04 00 00 00 00 00 00 00 00 00 00 00 00 00
10 00 00 00 00
>> Control, page_control: current
00 0a 0a 02 00 00 00 00 00 ff ff 00 1e
A outra linha que você mencionou:
Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
é produzido pela rotina sd_read_cache_type
em drivers/scsi/sd.c
. Ele usa um par de fontes diferentes para essa informação: as informações de cache de gravação e leitura são obtidas observando-se um byte específico da modepage == 8 buffer; a informação DPO / FUA é obtida a partir da estrutura de "dados" acima mencionada (embora não contenha necessariamente os mesmos dados: os modepages usados nas duas chamadas podem ser diferentes).
AFAICT, as informações nesta linha e as informações na linha de depuração acima não estão diretamente relacionadas.