Date: Thu, 18 Jul 2019 16:24:38 -0400 From: Mike Tancsa <mike@sentex.net> To: freebsd-questions <freebsd-questions@freebsd.org> Subject: zfs recv errors (g_dev_taste: make_dev_p() failed) Message-ID: <cafce8f2-296c-0186-57a7-be962e43056f@sentex.net>
index | next in thread | raw e-mail
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@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@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@mdttest crw-r----- 1 root operator - 0xd8 Jul 18 15:12 zvoltest@mdttest2 crw-r----- 1 root operator - 0xd9 Jul 18 15:12 zvoltest@mdttest2p1 crw-r----- 1 root operator - 0xc5 Jul 18 15:12 zvoltest@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@mdttest crw-r----- 1 root operator - 0xdd Jul 18 16:09 zvoltest123@mdttest2 crw-r----- 1 root operator - 0xe0 Jul 18 16:09 zvoltest123@mdttest2p1 crw-r----- 1 root operator - 0xe1 Jul 18 16:09 zvoltest123@mdttestp1 crw-r----- 1 root operator - 0xe2 Jul 18 16:09 zvoltest123p1 crw-r----- 1 root operator - 0xbf Jul 18 15:12 zvoltest@mdttest crw-r----- 1 root operator - 0xd8 Jul 18 15:12 zvoltest@mdttest2 crw-r----- 1 root operator - 0xd9 Jul 18 15:12 zvoltest@mdttest2p1 crw-r----- 1 root operator - 0xc5 Jul 18 15:12 zvoltest@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@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canadahelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cafce8f2-296c-0186-57a7-be962e43056f>
