ioctl(... ,BLKBSZSET, ...)
requer permissões de root.
Você pode tentar
mkfs -t xfs -s size='blockdev --getbsz /dev/xvdp' /dev/xvdp
e veja se não exigir um tamanho de bloco diferente irá ignorar a operação.
Eu configurei uma regra do udev para anexar um determinado volume do EBS como pertencente a um usuário, e isso funciona. Aqui estão as permissões no nó do dispositivo depois que o volume foi anexado:
brw-rw---- 1 myuser myuser 202, 240 Feb 4 20:21 /dev/xvdp
Mas quando tento executar mkfs -t xfs /dev/xvdp
, recebo o erro:
mkfs.xfs: error - cannot set blocksize 512 on block device /dev/xvdp: Permission denied
Se eu executar o comando como root, ele será bem-sucedido e, se eu alterar o tipo de sistema de arquivos para ext4, a operação também será bem-sucedida.
Que permissão extra eu preciso dar ao dispositivo para que meu usuário possa formatá-lo sem sudo
ing? Ou é provável que seja um bug Xen ou xfs?
Estou executando o Amazon linux:
Linux version 3.2.36-1.46.amzn1.x86_64 (mockbuild@gobi-build-31003) (gcc version 4.6.2 20111027 (Red Hat 4.6.2-2) (GCC) ) #1 SMP Mon Jan 14 04:42:23 UTC 2013