Annotation of wikisrc/users/haad/porting_zfs.mdwn, revision 1.1

1.1     ! wiki        1: # 1. Status of NetBSD zfs port
        !             2:  
        !             3: NetBSD zfs port is work in progress and can easily panic your system.
        !             4: ---
        !             5: # 2. Using NetBSD ZFS port 
        !             6: 
        !             7: 
        !             8: ## Instalation 
        !             9: 
        !            10: ## Configuration
        !            11: 
        !            12: ## Administration
        !            13: 
        !            14: ---
        !            15: # 3. Known Bugs
        !            16: 
        !            17: ## Show stoppers 
        !            18: 
        !            19: ### amd64
        !            20: * amd64 zio_root crash
        !            21: Investigation 
        !            22: vdev_label_read_config -> zio_root calls zio_wait on a zio_root zio_t. Later zio_execute tries to generate                     
        !            23: checksum on zio->zio_data which is NULL for a zio_root. Is this ressurrection of andys zio_null problem ? 
        !            24: because zio_root is basicaly zio_null.
        !            25:                
        !            26:  Solution
        !            27:  What is difference between i386 and amd64 version why it is working on i386 and not on a amd64 that can be
        !            28:  solution.
        !            29: ### i386 
        !            30: 
        !            31: ### Both 
        !            32: * vnode reclaiming deadlocks 
        !            33:  
        !            34:  This can be fixed by deferring call to zfs_zinactive in zfs_reclaim to another system thread if lock is held.
        !            35:  But it causes deadlock and we need to investigate if it is caused by this change or by another problem.
        !            36:                        
        !            37:  Deadlock backtrace is this
        !            38:                        
        !            39:  VOP_WRITE->zfs_netbsd_write->zfs_write->dmu_tx_wait->txg_wait_open->cv_wait
        !            40:  txq_quisce_thread->txg_thread_wait->cv_wait
        !            41:  txg_sync_thread->spa_sync->dsl_pool_sync->zio_wait->cv_wait
        !            42:                        
        !            43:  FreeBSD approach should be investigated why they are doing this differently and why it works for them. They 
        !            44:  call zfs_zinactive from zfs_freebsd_inactive which is null op for NetBSD.
        !            45:                        
        !            46:  zfs umount panic is caused by using FreeBSD approach in zfs_reclaim.
        !            47: 
        !            48: 
        !            49: ## Functional bugs 
        !            50: * Snapshots
        !            51: * Permissions
        !            52: * Old code, we should update NetBSD zfs port to new code

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb