Home | History | Annotate | Line # | Download | only in osnet
      1 
      2 			NetBSD ZFS port TODO
      3 
      4 1) ZVOL part
      5 
      6 * zpool cannot be destroyed -> could not destroy 'test': could not unmount datasets
      7   We are leaking descriptor after open -> I'm getting EBUSY from spscfs_open.
      8 
      9 2) ZPL part
     10 
     11 * test zfs_vfsops.c and zfs_vnops.c changes
     12 * xattr and acl support is needed for filesystem permisions ?
     13 * Check if we are calling vfs_option clear set routines from vfs.c with mnt_updating lock held.
     14 * Port zfs_replay.c -> DONE
     15 
     16 3) ZFS part
     17 
     18 * ACL support, xattr calls support
     19 * Snapshots support
     20 * iSCSI targets support
     21 * NFSv3, NFSv4 support
     22 * Samba filesystem support
     23 * Implement getpages/putpages for zfs, can be done with genfs_* routines but vnode_t need some changes.
     24 * zfs_rename support, Working but there are some issues with LOCKDEBUG see comment above zfs_rename.
     25 
     26 
     27 				NetBSD ZFS Integration TODO
     28 
     29 
     30 Pre-integration tasks.
     31 
     32 DONE		why is zfs module deadlocking.
     33 DONE		try to create a zvol/pool.
     34 DONE		when creating zvol/pool ok, do minor stress testing.
     35 DONE		port vfsops and vnodeops. ignore getpages/putpages.
     36 DONE		lookupname/lookupnameat/nameiat
     37 DONE		device properties for disk partitions.
     38 DONE		changes to newfs fsck for zvols.
     39 DONE		re-read zpool.cache and reconfigure pools.
     40 DONE		successful unload of the module.
     41 DONE		implement basic getpages/putpages.
     42 DONE		callbacks into arc, for reclaim of memory or kernel virual space.
     43 DONE		prevent module loading if less than 512MB RAM.
     44 -		maybe changing the order of arguments for pool_cache constructors.
     45 DONE		check ioctl handlers for safety (for patch to allow old-style unix ioctl)
     46 PDONE		port ZFS ACL stuff, enough for POSIX.
     47 DONE		port zfs_replay.c to NetBSD
     48 DONE		successfully compile a kernel.
     49 -		stress testing.
     50 DONE		rc.d integration for zfs.
     51 DONE 		fix dangling vnode panic, get zfs unmount to work
     52 DONE		fix zfs_rename bug -> fix should be sent back to sun 
     53 DONE		syncer/atime issues
     54 
     55 Post-integration tasks.
     56 
     57 -		 device properties for unique device id (driver:model-revision-serial-etc).
     58 -		 use device id to locate disks/partitions
     59 PDONE		 port ZFS snapshot / ctldir stuff.
     60 -		 zfs/nfs integration.
     61 -		 zfs/iscsi integration.
     62 -		 native getpages/putpages.
     63 PDONE zfs v22	 update ZFS to latest.
     64 -		 Implement *at syscalls correctly.
     65 
     66 Pre netbsd-6.0 tasks
     67 -		 More testing especially zvol, vdev and zfs code snapshot will stay disabled
     68 - 		 Get ztest and zdb working
     69 - 		 Get zfs properties working
     70 
     71 Post netbsd-6.0 tasks
     72 -		 Update to latest version
     73 -		 Harden zfs, test, survive build.sh on zfs
     74 - 		 all Post integration tasks
     75 -		 Write regression test suite 
     76 -		 RUMP port (might be very good idea.)
     77 
     78 
     79 #######
     80 ## List of Know ZFS bugs/issues
     81 #######
     82    
     83 User-land
     84 =========
     85 
     86 1) zpool list ENOMEM error .... fixed in rev 1.3 sunddi.h and rev 1.5 zfs_ioctl.h
     87 2) zfs unmount crash in getmntinfo
     88 3) ztest TXG dmu commit threshold problem ?? Maybe fixed by replacing atomic functions with mutex.
     89 4) ztest vdev resize problem (spa_thread ? )							
     90 
     91 Kernel
     92 ======
     93 
     94 1) Faulted zpool after modload (missing ztest/ dmu_objset)
     95    ZDB fails to work with because of this problem. This need to be investigated more.
     96    see zdb.c#2904
     97 
     98 2) data lost on filesystem after panic
     99 3) Strange panic during zfs_znode_dmu_init
    100 4) zpool scrub panic in vdev_open->vdev_disk_open->VOP_IOCTL
    101 5) zfs set doesn't work -> zfs set dedup=on, zfs set compression=gzip
    102 6) device nodes in /dev/zvol are not created
    103 
    104 
    105 
    106 
    107 
    108 PDONE = Partialy done.
    109