-
jclulow
sommerfeld: I feel like an NFS close() might implicitly become an fsync() on the file server?
-
jclulow
If you did, via NFS, a truncate and some writes and a close, then the file server was interrupted in that window, I could see this happening
-
danmcd
The same question should be asked of SMB/CIFS too, just in case.
-
richlowe
I haven't known this answer since .nfs<blahblah>
-
richlowe
but my immediate thought was the XFS port to linux, that had a habit of replacing your data with \0 for years.
-
richlowe
it was very strict about the _metadata_ being entirely correct on disk, but when it got sad your data was not
-
andyf
-
andyf
It has made me realise that the zvol_misc cleanup is not robust enough
-
danmcd
I've years of test runs now. Lemme run some tools...
-
danmcd
Only found one failure there. Gist coming soon...
-
andyf
I am just checking it's not related to the ZFS change I'm testing. Can't see how it is
-
danmcd
-
danmcd
Doesn't look like it... the directory I literally labelled WTF, suggesting I screwed up something. Can check notes too..
-
andyf
Ok, thanks for checking. I'll look at the core.
-
danmcd
.. okay my WTF was a case of "apparently zpool export testpool was not yet done⦠". (Thanks to @tsoome for that diagnosis back in April.)
-
andyf
There are definitely some opportunities for improvement in this. In my case that failed pool creation (which was expected to fail but not like that) left the pool used as a dump device and broke all of the subsequent tests.
-
jbk
i don't recognize that one, but it's been a while since i've run any zfs tests
-
jbk
and yeah, there were several errors (I think tsoome might have fixed at least a few of them) where some tests didn't clean up properly which lead to subsequent tests to fail (but would succeed when you re-ran them since the earlier tests that passed weren't re-run)
-
andyf
Well it's reproducible, so I just need to find where in ZFS land the EDOM is coming from.
-
tsoome
fortunately you can track SET_ERROR ;)
-
jbk
maybe a channel program?
-
andyf
It's a brand new VM I just set up for running the zfs testsuite. I'll look into it.
-
iximeow
hm. if you `mkdir("/dev/zvol/rdsk/", ...)` you get an ENOSYS. that really feels like it should be an EEXIST, no?
-
iximeow
i haven't looked all that much, just enough to see that vn_createat gets all the way to fop_mkdir and ENOSYS comes from fs_nosys, but that seems pretty late for a path that clearly exists!
-
rmustacc
That will get handled by the dynamic plugin in sdev.
-
iximeow
you mean that changing this would end up in sdev_zvolops.c, right? i also notice that it gets past lookuppnat without an error, which seems curious. but if the ENOSYS seems remarkable i'll at least open an issue