xref: /netbsd-src/external/cddl/osnet/TODO (revision bcfeb94d61b8d2e1af0d55ebf0ecb9ba617239bc)
1
2			NetBSD ZFS port TODO
3
41) 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
92) 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
163) 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
30Pre-integration tasks.
31
32DONE		why is zfs module deadlocking.
33DONE		try to create a zvol/pool.
34DONE		when creating zvol/pool ok, do minor stress testing.
35DONE		port vfsops and vnodeops. ignore getpages/putpages.
36DONE		lookupname/lookupnameat/nameiat
37DONE		device properties for disk partitions.
38DONE		changes to newfs fsck for zvols.
39DONE		re-read zpool.cache and reconfigure pools.
40DONE		successful unload of the module.
41DONE		implement basic getpages/putpages.
42DONE		callbacks into arc, for reclaim of memory or kernel virual space.
43DONE		prevent module loading if less than 512MB RAM.
44-		maybe changing the order of arguments for pool_cache constructors.
45DONE		check ioctl handlers for safety (for patch to allow old-style unix ioctl)
46PDONE		port ZFS ACL stuff, enough for POSIX.
47DONE		port zfs_replay.c to NetBSD
48DONE		successfully compile a kernel.
49-		stress testing.
50DONE		rc.d integration for zfs.
51DONE 		fix dangling vnode panic, get zfs unmount to work
52DONE		fix zfs_rename bug -> fix should be sent back to sun
53DONE		syncer/atime issues
54
55Post-integration tasks.
56
57-		 device properties for unique device id (driver:model-revision-serial-etc).
58-		 use device id to locate disks/partitions
59PDONE		 port ZFS snapshot / ctldir stuff.
60-		 zfs/nfs integration.
61-		 zfs/iscsi integration.
62-		 native getpages/putpages.
63PDONE zfs v22	 update ZFS to latest.
64-		 Implement *at syscalls correctly.
65
66Pre 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
71Post 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
83User-land
84=========
85
861) zpool list ENOMEM error .... fixed in rev 1.3 sunddi.h and rev 1.5 zfs_ioctl.h
872) zfs unmount crash in getmntinfo
883) ztest TXG dmu commit threshold problem ?? Maybe fixed by replacing atomic functions with mutex.
894) ztest vdev resize problem (spa_thread ? )
90
91Kernel
92======
93
941) 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
982) data lost on filesystem after panic
993) Strange panic during zfs_znode_dmu_init
1004) zpool scrub panic in vdev_open->vdev_disk_open->VOP_IOCTL
1015) zfs set doesn't work -> zfs set dedup=on, zfs set compression=gzip
1026) device nodes in /dev/zvol are not created
103
104
105
106
107
108PDONE = Partialy done.
109