Talk:Projects

I guess during the latest port of ZFS, a few things could have helped with the work, and would help with future merges.

* UIO

Most platforms have exposed struct uio, but not OSX. Here we have API calls like uio_create, uio_resid, uio_setoffset. On most platforms these would just be simple macros


 * 1) define uio_resid(X) (X)->u_resid

So it would be of benefit to OSX, but not really to any other platform. This would probably be unpopular.

* struct buf

Similar situation with ``struct buf`` in vdev_disk, but since it is only used in one location it is of less interest

Most other differences can be handled with macros on OSX. ( (S_ISDIR(ZTOV(zp)) -> vnode_isdir(ZTOV(zp)) etc )

lundman

Lundman, can you add this as a project idea? I think that in general, creating a "porting layer" which abstracts out some of these details would help reduce the diffs between platforms. Mahrens (talk) 23:19, 15 August 2013 (UTC)