Difference between revisions of "Talk:Projects"
m |
|||
Line 24: | Line 24: | ||
---- | ---- | ||
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. | |||
[[User:Mahrens|Mahrens]] ([[User talk:Mahrens|talk]]) 23:19, 15 August 2013 (UTC) |
Revision as of 23:19, 15 August 2013
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
#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)