A soma de verificação de dados permanece para arquivos com o atributo No_COW no sistema de arquivos Btrfs?

1

Suponha que não invoquemos opções de montagem adicionais como nodatacow e nodatasum . Opere somente no nível atributos de arquivo , que são controlados com lsattr / chattr .

  1. A configuração No_COW em um arquivo ( chattr +C ) implica desabilitar a soma de verificação de dados? Da mesma forma que as opções de montagem se comportam ( nodatacow implica nodatasum ).
  2. Pode desabilitar a soma de verificação somente para extensões recém-gravadas e manter a leitura das existentes?
por AleXoundOS 13.08.2016 / 02:39

1 resposta

0

1. Sim, a configuração No_COW no arquivo vazio implica na desativação da soma de verificação dos dados.

It's because you can't update the data and the checksum atomically -- at some point in the writing process, they must be inconsistent. This is considered a Bad Thing.

Definir No_COW no ficheiro não vazio não é possível (ver # 2).

A conclusão é que desabilitar o CoW em uma base por arquivo também perde a exatidão de soma de verificação desse arquivo. Isso não é muito óbvio para um novo usuário do Btrfs, e acho que deve ser adicionado ao wiki do Btrfs .

2. Não, No_COW não pode ser definido em um arquivo não vazio , portanto, chattr +C não pode acionar a soma de verificação para extensões.

You can only usefully set +C on a file with no extents.

So by definition there won't be any pre-existing checksummed extents in that file.

Esta resposta é um resumo baseado na discussão da lista de discussão do Btrfs .

    
por 16.10.2016 / 21:44