De acordo com o manual:
mount_opts=mount_option_string
Set a set of default mount options which will be used when the file
system is mounted. Unlike the bitmask-based default mount options
which can be specified with the -o option, mount_option_string is an
arbitrary string with a maximum length of 63 bytes, which is stored in
the superblock.
Se eu tentar definir uma única opção, funciona:
$ tune2fs -E mount_opts=data=writeback /dev/sde2
tune2fs 1.43.5 (04-Aug-2017)
Setting extended default mount options to 'data=writeback'
Mas se eu tentar definir várias opções, parece haver conflito com tune2fs
o próprio mecanismo de análise:
$ tune2fs -E mount_opts=data=writeback,noatime /dev/sde2
tune2fs 1.43.5 (04-Aug-2017)
Bad options specified.
Extended options are separated by commas, and may take an argument which
is set off by an equals ('=') sign.
Valid extended options are:
clear_mmp
hash_alg=<hash algorithm>
mount_opts=<extended default mount options>
stride=<RAID per-disk chunk size in blocks>
stripe_width=<RAID stride*data disks in blocks>
test_fs
^test_fs
Como passar uma string com múltiplas opções em ‘mount_opts’?
Responder1
Como diz Thomas, sparated by commas
é para uma separação estendida de opções. Porém, mount_opts
a separação de opções também é feita usando ,
(veja Kernel Linux fs/ext4/super.c:parse_options()
), e a partir desta resposta e2fsprogs
'mke2fs
e tune2fs
não conseguem distinguir semanticamente um do outro.
Atroca de correspondência com Theodore Y. Ts'o revela:
Sim, esta é uma deficiência do tune2fs.
Não há sintaxe para conseguir isso usando as ext
ferramentas de manipulação comuns. Em vez disso, Ts'o aconselha usar debugfs
como solução alternativa:
Você pode definir opções de montagem estendidas usando debugfs:
debugfs -w -R "set_super_value mount_opts foo,bar" /dev/sda1
Neste caso, você precisaria debugfs -w -R "set_super_value mount_opts data=writeback,noatime" /dev/sde2
, masisso não tem o efeito que você espera.
Após a montagem, o ext4
módulo do kernel irá reclamar de um Unrecognized mount option "noatime" or missing value
; na verdade, só é possível especificar ext
opções específicas, e noatime
não é (veja o mesmo arquivo fonte do kernel, as opções disponíveis estão listadas no tokens
array). A correspondência funcionalmente mais próxima élazytime
.
Então, use debugfs -w -R "set_super_value mount_opts data=writeback,lazytime" /dev/sde2
.
Responder2
O sparated by commas
está relacionado às diferentes opções estendidas como clear_mmp
,, etc.hash_alg
mount_opts
Portanto, a sintaxe correta seria a seguinte.
tune2fs -E mount_opts="data=writeback noatime" /dev/sde1