zfs recv errors (g_dev_taste: make_dev_p() failed)
Mike Tancsa
mike at sentex.net
Thu Jul 18 20:24:55 UTC 2019
I have been adding zfs replication via a great app called zrepl and ran
into an error / issue I am not 100% sure what to make of. It only
happens when replication datasets that are volumes with longish names
On the source server (RELENG11 or 12 ) if I do
zfs send -Rv zroot/volumetest at zrepl_20190718_185346_000 | nc 10.151.9.3 1000
and on the recv server I do
nc -l 1000 | zfs recv -vF zroot/12345678901234567890123456
All is fine. The volume comes in no problem. If instead I add an extra char
nc -l 1000 | zfs recv -vF zroot/12345678901234567890123456a
I get an error / warning in dmesg
g_dev_taste: make_dev_p() failed
(gp->name=zvol/zroot/12345678901234567890123456a at zrepl_20190718_185346_000,
error=63)
It doesnt seem to be the long dataset name. Its what the entire thing
adds up to.
With a non volume dataset, its OK no matter what giant name/path it adds
up to.
Any ideas what I am bumping into ? I saw refs to dev name limits of 63
chars, but
/dev/zvol/zroot/12345678901234567890123456
is only 43 from the first / ?
It seems I can send a big ass zvol to a server, see the error / warning
message
0(nfs2)# zfs list -t volume
NAME USED
AVAIL REFER MOUNTPOINT
zroot-nfs2/zvoltest 1.78G
373G 761M -
zroot-nfs2/zvoltest1234567890123456789012345678901234567890 1.78G
373G 761M -
0(nfs2)#
and I cannot see it at
0(nfs2)# ls -l /dev/zvol/zroot-nfs2/
total 1
dr-xr-xr-x 2 root wheel - 512 Jul 18 15:14 .
dr-xr-xr-x 3 root wheel - 512 Jul 18 15:14 ..
crw-r----- 1 root operator - 0xb8 Jul 18 15:12 zvoltest
crw-r----- 1 root operator - 0xbf Jul 18 15:12 zvoltest at mdttest
crw-r----- 1 root operator - 0xd8 Jul 18 15:12 zvoltest at mdttest2
crw-r----- 1 root operator - 0xd9 Jul 18 15:12 zvoltest at mdttest2p1
crw-r----- 1 root operator - 0xc5 Jul 18 15:12 zvoltest at mdttestp1
crw-r----- 1 root operator - 0xc4 Jul 18 15:12 zvoltestp1
0(nfs2)#
But if I rename it, its there just fine.
0(nfs2)# zfs rename
zroot-nfs2/zvoltest1234567890123456789012345678901234567890
zroot-nfs2/zvoltest123
0(nfs2)# ls -l /dev/zvol/zroot-nfs2/
total 1
dr-xr-xr-x 2 root wheel - 512 Jul 18 15:14 .
dr-xr-xr-x 3 root wheel - 512 Jul 18 15:14 ..
crw-r----- 1 root operator - 0xb8 Jul 18 15:12 zvoltest
crw-r----- 1 root operator - 0xdf Jul 18 16:09 zvoltest123
crw-r----- 1 root operator - 0xde Jul 18 16:09 zvoltest123 at mdttest
crw-r----- 1 root operator - 0xdd Jul 18 16:09 zvoltest123 at mdttest2
crw-r----- 1 root operator - 0xe0 Jul 18 16:09 zvoltest123 at mdttest2p1
crw-r----- 1 root operator - 0xe1 Jul 18 16:09 zvoltest123 at mdttestp1
crw-r----- 1 root operator - 0xe2 Jul 18 16:09 zvoltest123p1
crw-r----- 1 root operator - 0xbf Jul 18 15:12 zvoltest at mdttest
crw-r----- 1 root operator - 0xd8 Jul 18 15:12 zvoltest at mdttest2
crw-r----- 1 root operator - 0xd9 Jul 18 15:12 zvoltest at mdttest2p1
crw-r----- 1 root operator - 0xc5 Jul 18 15:12 zvoltest at mdttestp1
crw-r----- 1 root operator - 0xc4 Jul 18 15:12 zvoltestp1
0(nfs2)#
and it seems to import / work just fine
0(nfs2)# mount /dev/zvol/zroot-nfs2/zvoltest123p1 /mnt
0(nfs2)# ls -l /mnt
total 580471
drwxr-xr-x 3 root wheel - 512 Jul 18 16:05 .
drwxr-xr-x 23 root wheel uarch 29 Jul 14 13:47 ..
drwxrwxr-x 2 root operator - 512 Jul 18 15:07 .snap
-rw-r--r-- 1 root wheel - 206 Jul 18 16:05 md5.out
-rw-r--r-- 1 root wheel - 192949248 Jul 18 15:08 testfile
-rw-r--r-- 1 root wheel - 46393344 Jul 18 15:08 testfile2
-rw-r--r-- 1 root wheel - 109791232 Jul 18 15:08 testfile23
-rw-r--r-- 1 root wheel - 244912640 Jul 18 15:08 testfile234
0(nfs2)# cd /mnt
0(nfs2)# md5 test*
MD5 (testfile) = 0abeecb18dbecb85ca7f3b4764db6727
MD5 (testfile2) = 125adf01030dcf683ecdb14fb52e9cb1
MD5 (testfile23) = 0aea64bfd7ce25fac221e6487c5d4512
MD5 (testfile234) = ba2689eeb1cd01aaa4c6510dc501a8e2
0(nfs2)# cat md5.out
MD5 (testfile) = 0abeecb18dbecb85ca7f3b4764db6727
MD5 (testfile2) = 125adf01030dcf683ecdb14fb52e9cb1
MD5 (testfile23) = 0aea64bfd7ce25fac221e6487c5d4512
MD5 (testfile234) = ba2689eeb1cd01aaa4c6510dc501a8e2
0(nfs2)#
So apart from just the limit of not being able to access the volume
from /dev/zvol without renaming it to something smaller, is there
anything I need to worry about ?
---Mike
--
-------------------
Mike Tancsa, tel +1 519 651 3400 x203
Sentex Communications, mike at sentex.net
Providing Internet services since 1994 www.sentex.net
Cambridge, Ontario Canada
More information about the freebsd-questions
mailing list