bcfeb94d61
iRequested by: agc@
109 lines
3.3 KiB
Plaintext
109 lines
3.3 KiB
Plaintext
|
|
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.
|