Difference between revisions of "Platform code differences"

Jump to navigation Jump to search
→‎OpenZFS on OS X: Updating description
m
(→‎OpenZFS on OS X: Updating description)
Line 56: Line 56:
* zvols are mostly untouched from FreeBSD, but calls wrappers to IOKit C++ layer
* zvols are mostly untouched from FreeBSD, but calls wrappers to IOKit C++ layer
* '''vnode_create''' needs ALL information at call time (vtype, private ptr (znode), vnode_ops), can not pre-alloc like FreeBSD
* '''vnode_create''' needs ALL information at call time (vtype, private ptr (znode), vnode_ops), can not pre-alloc like FreeBSD
** '''vnode_create''' can call both '''reclaim''' and '''fdsync''' causing locking issues. OS X port has a reclaim thread to defer reclaims.
** '''vnode_create''' can call both '''reclaim''' and '''fdsync''' causing locking issues. OS X port attaches vnode ptr after VNOP's dmu_tx_commit is called to ensure no ZFS locks are held entering the VFS layer.


== OSv ==
== OSv ==
Editor
58

edits

Navigation menu