NetBSD ZFS port TODO 1) ZVOL part * zpool cannot be destroyed -> could not destroy 'test': could not unmount datasets We are leaking descriptor after open -> I'm getting EBUSY from spscfs_open. 2) ZPL part * test zfs_vfsops.c and zfs_vnops.c changes * xattr and acl support is needed for filesystem permisions ? * Check if we are calling vfs_option clear set routines from vfs.c with mnt_updating lock held. * Port zfs_replay.c -> DONE 3) ZFS part * ACL support, xattr calls support * Snapshots support * iSCSI targets support * NFSv3, NFSv4 support * Samba filesystem support * Implement getpages/putpages for zfs, can be done with genfs_* routines but vnode_t need some changes. * zfs_rename support, Working but there are some issues with LOCKDEBUG see comment above zfs_rename. NetBSD ZFS Integration TODO Pre-integration tasks. DONE why is zfs module deadlocking. DONE try to create a zvol/pool. DONE when creating zvol/pool ok, do minor stress testing. DONE port vfsops and vnodeops. ignore getpages/putpages. DONE lookupname/lookupnameat/nameiat DONE device properties for disk partitions. DONE changes to newfs fsck for zvols. DONE re-read zpool.cache and reconfigure pools. DONE successful unload of the module. DONE implement basic getpages/putpages. DONE callbacks into arc, for reclaim of memory or kernel virual space. DONE prevent module loading if less than 512MB RAM. - maybe changing the order of arguments for pool_cache constructors. DONE check ioctl handlers for safety (for patch to allow old-style unix ioctl) PDONE port ZFS ACL stuff, enough for POSIX. DONE port zfs_replay.c to NetBSD DONE successfully compile a kernel. - stress testing. DONE rc.d integration for zfs. DONE fix dangling vnode panic, get zfs unmount to work DONE fix zfs_rename bug -> fix should be sent back to sun DONE syncer/atime issues Post-integration tasks. - device properties for unique device id (driver:model-revision-serial-etc). - use device id to locate disks/partitions PDONE port ZFS snapshot / ctldir stuff. - zfs/nfs integration. - zfs/iscsi integration. - native getpages/putpages. PDONE zfs v22 update ZFS to latest. - Implement *at syscalls correctly. Pre netbsd-6.0 tasks - More testing especially zvol, vdev and zfs code snapshot will stay disabled - Get ztest and zdb working - Get zfs properties working Post netbsd-6.0 tasks - Update to latest version - Harden zfs, test, survive build.sh on zfs - all Post integration tasks - Write regression test suite - RUMP port (might be very good idea.) ####### ## List of Know ZFS bugs/issues ####### User-land ========= 1) zpool list ENOMEM error .... fixed in rev 1.3 sunddi.h and rev 1.5 zfs_ioctl.h 2) zfs unmount crash in getmntinfo 3) ztest TXG dmu commit threshold problem ?? Maybe fixed by replacing atomic functions with mutex. 4) ztest vdev resize problem (spa_thread ? ) Kernel ====== 1) Faulted zpool after modload (missing ztest/ dmu_objset) ZDB fails to work with because of this problem. This need to be investigated more. see zdb.c#2904 2) data lost on filesystem after panic 3) Strange panic during zfs_znode_dmu_init 4) zpool scrub panic in vdev_open->vdev_disk_open->VOP_IOCTL 5) zfs set doesn't work -> zfs set dedup=on, zfs set compression=gzip 6) device nodes in /dev/zvol are not created PDONE = Partialy done.