Eu instalei o Debian stretch no ZFS (incluindo o sistema de arquivos raiz) e fiz um volume no root pool que estou usando como swap. Tudo está funcionando bem, exceto pelo fato de que estou vendo as seguintes duas linhas de erro saindo para a tela quando a máquina é desligada (o erro não é registrado em nenhum arquivo, no entanto):
[...] failed deactivating swap /dev/rpool/swap
[...] failed deactivating swap /dev/zd0
A troca existe no conjunto conforme o esperado:
root@cerberus:~# zfs list -o name,type,used,avail,refer,mountpoint
NAME TYPE USED AVAIL REFER MOUNTPOINT
rpool filesystem 609G 290G 96K none
rpool/stretch filesystem 580G 290G 580G /
rpool/swap volume 29.8G 319G 29.1M -
O O / S usa o swap como esperado:
root@cerberus:~# cat /proc/swaps
Filename Type Size Used Priority
/dev/zd0 partition 29360124 0 -1
Por fim, os dispositivos existem e estão vinculados conforme o esperado:
root@cerberus:~# dir /dev/zd0
brw-rw---- 1 root disk 230, 0 2017-01-18 19:51 /dev/zd0
root@cerberus:~# dir /dev/rpool/swap
lrwxrwxrwx 1 root root 6 2017-01-18 19:51 /dev/rpool/swap -> ../zd0
root@cerberus:~# dir /dev/zvol/rpool/swap
lrwxrwxrwx 1 root root 9 2017-01-18 19:51 /dev/zvol/rpool/swap -> ../../zd0
Então, o que poderia causar essa mensagem de erro durante o desligamento? Cheguei à conclusão de que posso ignorar com segurança esses erros, mas preferiria conhecer sua causa.
EDIT 1 (para o comentário de airhuff)
Estas são as propriedades do volume de troca:
root@cerberus:~# zfs get all rpool/swap
NAME PROPERTY VALUE SOURCE
rpool/swap type volume -
rpool/swap creation Tue Jan 17 16:36 2017 -
rpool/swap used 29.8G -
rpool/swap available 319G -
rpool/swap referenced 29.1M -
rpool/swap compressratio 1.00x -
rpool/swap reservation none default
rpool/swap volsize 28G local
rpool/swap volblocksize 4K -
rpool/swap checksum on default
rpool/swap compression off local
rpool/swap readonly off default
rpool/swap copies 1 default
rpool/swap refreservation 29.8G local
rpool/swap primarycache metadata local
rpool/swap secondarycache none local
rpool/swap usedbysnapshots 0 -
rpool/swap usedbydataset 29.1M -
rpool/swap usedbychildren 0 -
rpool/swap usedbyrefreservation 29.7G -
rpool/swap logbias throughput local
rpool/swap dedup off inherited from rpool
rpool/swap mlslabel none default
rpool/swap sync always local
rpool/swap refcompressratio 1.00x -
rpool/swap written 29.1M -
rpool/swap logicalused 28.6M -
rpool/swap logicalreferenced 28.6M -
rpool/swap snapshot_limit none default
rpool/swap snapshot_count none default
rpool/swap snapdev hidden default
rpool/swap context none default
rpool/swap fscontext none default
rpool/swap defcontext none default
rpool/swap rootcontext none default
rpool/swap redundant_metadata all default
rpool/swap com.sun:auto-snapshot false local
EDIT 2 (para o comentário de Michael Kjörling):
Nada de relevância é mostrado em dmesg
output, e nada de relevância está em nenhum dos arquivos em /var/log
(é isso que eu quis dizer com "... (o erro não é registrado em nenhum arquivo, Apesar)..."). Eu até usei last -x
na esperança de descobrir algo, mas sem sucesso.
A desativação manual da troca não parece causar problemas:
root@cerberus:~# swapoff /dev/zd0
root@cerberus:~# echo $?
0
root@cerberus:~#