“mke2fs -r fs-revision-level” - como isso é usado?

3

mke2fs -r ofertas

Set the filesystem revision for the new filesystem. Note that 1.2 kernels only support revision 0 filesystems. The default is to create revision 1 filesystems.

Tentando descobrir o que significou isso, encontrei muitas capturas de tela etc. de dumpe2fs contendo a linha

Filesystem revision #: 1 (dynamic)

Pergunta:

O que isso significa? O que a opção realmente faz e o que significa essa saída?

Onde está documentado o que um valor de zero significaria, o que dinâmico significa; e há um valor de dois também?

Eu poderia viver com o manter-se intocado, pois você nunca precisará alterá-lo «- mas como há uma opção para isso e nenhuma nota sobre compatibilidade com versões anteriores, isso me faz pensar…

    
por erch 08.02.2014 / 19:45

1 resposta

2

Parece que apenas depende de qual versão do kernel Linux você está emparelhando com o sistema de arquivos que você está tentando mke2fs e também depois usar com o sistema de arquivos ext2,3,4 resultante.

fs_param.s_rev_level = 1;  /* Create revision 1 filesystems now */

if (is_before_linux_ver(2, 2))
    fs_param.s_rev_level = 0;

Aqui é padronizado para 1, a menos que a versão do kernel esteja abaixo da versão 2.2. A página man do freeBSD tem um pouco mais de informação sobre isso:

-O feature[,...]
      Create filesystem  with  given  features  (filesystem  options).
      Currently,  the sparse_super and filetype features are turned on
      by default unless mke2fs is run on a system with a pre-2.2 Linux
      kernel.  Filesystems that may need to mounted on pre-2.2 kernels
      should be created with -O none (or -r 0 for 1.2  kernels)  which
      will  disable  these features, even if mke2fs is run on a system
      which can support them.

Então eu estou imaginando que existem alguns recursos que devem estar faltando nos kernels mais antigos (1.2, 2.2, etc.) e essa opção está aqui, então se você precisar criar um sistema de arquivos que será montado posteriormente em um desses sistemas mais antigos, você poderá criá-lo nos sistemas com os novos kernels.

Há também informações adicionais nas notas de lançamento do e2fsprogs (o pacote que compreende o mke2fs).

trechos

ref#1: [E2fsprogs 1.41.1 (September 1, 2008)] Mke2fs will correctly enforce the prohibition against features (specifically read-only features) in revision 0 filesystems. (Thanks to Benno Schulenberg for noticing this problem.)

ref#2: [E2fsprogs 1.20 (May 20, 2001)] E2fsck will now bump the filesystem revision number from zero to one if any of the compatibility bits are set.

ref#3: [E2fsprogs 1.15 (July 18, 1999)] Mke2fs now creates revision 1 filesystems by default, and with the sparse superblock feature enabled. The sparse superblock feature is not understood by Linux 2.0 kernels, so they will report errors when mounting the filesystem. This can be worked around by using the mount options "check=none".

ref#4: [E2fsprogs 1.10 (April 24, 1997)] Mke2fs once again defaults to creating revision #0 filesystems, since people were complaining about breaking compatibility with 1.2 kernels. Warning messages were added to the mke2fs and tune2fs man pages that the sparse superblock option isn't supported by most kernels yet (1.2 and 2.0 both don't support parse superblocks.)

ref#5: [E2fsprogs 1.08 (April 10, 1997)] Dumpe2fs now prints more information; its now prints the the filesystem revision number, the filesystem sparse_super feature (if present), the block ranges for each block group, and the offset from the beginning of the block group.

ref#6: [E2fsprogs 1.03 (March 27, 1996)] Support (in-development) filesystem format revision which supports (among other things) dynamically sized inodes.

Estes comentários parecem responder a todas as suas perguntas!

    
por 08.02.2014 / 22:21