zfsonfreebsd/ZoF

Missing code from 'async unlinked drain' feature

Closed this issue · 16 comments

The FreeBSD copy of zfs_vfsops.c is missing some code that was added to linux around the time of the initial report, and was likely just missed.

Upstream:
openzfs@dcec0a1#diff-393d174d5a4ee5c473e7928b08a3ba82R2179

Missing in FreeBSD:
https://github.com/zfsonfreebsd/ZoF/blob/projects/zfsbsd/module/os/freebsd/zfs/zfs_vfsops.c#L2570

I have not looked further to see if more of the code from this commit is missing.

hi i think i hit on this issue too https://gist.github.com/javashin/fd7b9bc0fcbf1b6e9cdc4d645dcdb2df

with clang
/usr/ports/sysutils/openzfs-kmod/work/ZoF-05f627f/module/os/freebsd/spl/opensolaris_kmem.c:244:2: error: implicit
declaration of function 'zone_drain' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
zone_drain(cache->kc_zone);
^
/usr/ports/sysutils/openzfs-kmod/work/ZoF-05f627f/module/os/freebsd/spl/opensolaris_kmem.c:244:2: error: this function
declaration is not a prototype [-Werror,-Wstrict-prototypes]
/usr/ports/sysutils/openzfs-kmod/work/ZoF-05f627f/module/os/freebsd/spl/opensolaris_kmem.c:251:14: error: too few
arguments to function call, single argument 'req' was not specified
uma_reclaim();

/usr/src/sys/vm/uma.h:449:1: note: 'uma_reclaim' declared here
void uma_reclaim(int req);
^
3 errors generated.

@javashin it looks like your ports tree is out of date. Can you update it?

really ?
Updated to revision 511058.
also i installed the last freebsd 13-current snapshot from the 29 of august and have the same problem trying to compile with sources that comes with the snapshot fails with zlib and after clone the freebsd master from git hub fails with /usr/src/sys/vm/uma.h:449:1: note: 'uma_reclaim' declared here

ok now i cloned the ports from github let me try again

no same error

i think im gonna open a new issue , before can anyone confirm this is happening ? with last svn head or github master sources i had tested with svn , github , last 13-current snapshot , my own build , thanks

with The Last 12-stable snapshot works fine like its has to . but not 13-current head , always fail.

Ok i got it working i updated the port to fetch last projects/zfsbsd with updated userland with noZFS legacy on world from this svn revision >>
r351774 | kib | 2019-09-03 14:58:48 -0400 (Tue, 03 Sep 2019) | 8 lines
Add stackgap control mode to proccontrol(1).
PR: 239894
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D21352

The Kernel from that ^ revision dont work.

I used this SRC >>>
http://pkg.trueos.org/pkg/freebsd-pkgbase/FreeBSD%3A13%3Aamd64/latest/All/src-13.0.20190813225649.txz
to make a kernel which uname is
FreeBSD hellbox-l440 13.0-CURRENT FreeBSD 13.0-CURRENT DIABLO amd64 1300039
and installed and compiled openzfs-kmod updated from this git repo branch "projects/zfsbsd"
and everything is fine , i dont know when the source broke openzfs was between 13.0-CURRENT amd64 1300039 and 1300045 and so on . thanks , i hope this gets fixed .

im using a older kernel with a new userland , which is not good . thanks in advance.

last openzfs dont need opensolaris.ko which is good :) how i get rid of it ? i tried nooptions opensolaris on my kernel config but dont work

no same error

installed and compiled openzfs-kmod updated from this git repo branch "projects/zfsbsd"
and everything is fine

I'll see that the port gets updated to use a newer commit.

last openzfs dont need opensolaris.ko which is good :) how i get rid of it ? i tried nooptions opensolaris on my kernel config but dont work

Unless you have opensolaris.ko configured to load somewhere (it's not loaded by default) there should be no configuration changes necessary. If you still see it loaded check loader.conf and rc.conf for starters.

Thanks ! , i just created a new dataset on my ZOL zpool zroot and Cpuduped all my files there and rebooted this new No ZFs legacy system and boots faster , and works nice , thanks so much for this great work all of u people thanks , keep doing nice work like this , the only problem is head broken for openzfs-kmod , i would like to do more , maybe test any kind of patch that will fix 13-current head . thanks in advance.

by the way no opensolaris.ko dont get loaded i was talking about get rid it from the kernel compilation , nice talk.

hi i think that was this commit which broke openzfs-kmod freebsd/freebsd-src@5451b35

im getting the source from the snapshot of the 22 of august to test

The problem you're talking about has already been fixed, the port just needed to be updated (and it has been). If you have a problem still please open a new issue, as it is not related to #127.

port updated and still fails to compile , ok im going to create a new issue .

@allanjude is this still an issue in projects/pr-rebase-20191221 ?

Timed out