O que [0x200000401: 0x4: 0x0] para um ID de arquivo significa

1

Eu tentei obter o id (descritor) do arquivo usando o DFID que é definido como #define DFID "["DFID_NOBRACE"]" no lustre e obtive a saída como [0x200000401:0x4:0x0] . Então, o que os campos separted por : significam?

    
por Bhagyesh Dudhediya 10.09.2015 / 16:39

2 respostas

1

Você pode ver ao lado da definição de DFID a definição de PFID() , que está imprimindo os campos f_seq , f_oid e f_ver do FID. Os FIDs nunca são reutilizados no Lustre.

f_seq é o número da sequência de 64 bits (SEQ). Isso indica em qual MDT (ou nas configurações DNE em qual OST) o intervalo de inodes (ou objetos) está localizado. Cada MDT obtém um intervalo de números de sequência e, em seguida, os aloca (um por vez) para os clientes, e os clientes podem criar novos arquivos dentro desse número de sequência.

f_oid é o OID (número de identificação do objeto) de 32 bits. Isso indica um objeto dentro do intervalo SEQ, que é alocado pelo cliente sempre que um novo arquivo é criado. Para configurações DNE, o MDS aloca OIDs para números SEQ atribuídos a cada OST.

f_ver é um campo reservado de versão de 32 bits (VER). Isso é destinado ao uso de instantâneos / conjuntos de dados para distinguir objetos que, de outra forma, têm o mesmo SEQ / OID. Esse campo também é usado para objetos OST para armazenar o índice de distribuição LOV para um arquivo no fid xattr, para que o layout LOV possa ser reconstruído a partir dos objetos OST se o layout do MDT estiver corrompido.

Veja link para obter uma descrição mais completa dos FIDs.

    
por 06.04.2018 / 11:03
0

O primeiro termo 0x200000401 .
É basicamente a sequência a qual o arquivo pertence. No lustre, os arquivos pertencentes a uma determinada seqüência são armazenados juntos, o que significa que todos os arquivos (objetos) com FIDs de uma determinada sequência são armazenados no mesmo servidor.

    
por 14.09.2015 / 11:53