Hi, @pcd1193182 

so, I added a test case to ztest that uses dmu_free_long_range() to punch 
various large holes in objects. That test case asserts as:
```
ztest: ../../module/zfs/dbuf.c:3270: Assertion `db->db_blkid <= 
dn->dn_phys->dn_maxblkid >> (db->db_level * epbs) (0xa3bd0 <= 0x3e8d6)' failed.
/sbin/ztest[0x409093]
/lib64/libpthread.so.0[0x3e6b20f790]
/lib64/libc.so.6(gsignal+0x35)[0x3e6aa32625]
/lib64/libc.so.6(abort+0x175)[0x3e6aa33e05]
/lib64/libc.so.6[0x3e6aa2b74e]
/lib64/libc.so.6(__assert_perror_fail+0x0)[0x3e6aa2b810]
/lib64/libc.so.6[0x3e6aa2b87b]
/lib64/libzpool.so.2(+0x4a52a)[0x7fda9977f52a]
/lib64/libzpool.so.2(+0x38ffe)[0x7fda9976dffe]
/lib64/libzpool.so.2(+0xf9836)[0x7fda9982e836]
/lib64/libzpool.so.2(+0xfa112)[0x7fda9982f112]
/lib64/libzpool.so.2(+0xfa112)[0x7fda9982f112]
/lib64/libzpool.so.2(+0xfa112)[0x7fda9982f112]
/lib64/libzpool.so.2(zio_execute+0xe0)[0x7fda998278f0]
/lib64/libzpool.so.2(+0x2e912)[0x7fda99763912]
/lib64/libzpool.so.2(zk_thread_helper+0x22c)[0x7fda9975fd1c]
/lib64/libpthread.so.0[0x3e6b207a51]
/lib64/libc.so.6(clone+0x6d)[0x3e6aae893d]
child died with signal 6
```

without the fixup of the maxblkid in dmu_write_ready() that I mentioned above. 
You are welcome to try the patches on my branch on your code:

https://github.com/bprotopopov/zfs/commit/4e9050e265ff177d4f9f29032cd8ae670d7dc0f6
https://github.com/bprotopopov/zfs/commit/5a3619b1cfcd9cf3a8c7237863f51b8855bdbba8

Best regards.


---
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/46#issuecomment-176918736
_______________________________________________
developer mailing list
developer@open-zfs.org
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to