Karl Wagner
2013-11-19 15:24:21 UTC
Hi All
I have a suggestion for a future development of ZFS: as the subject,
exposing a "Storage API" for ZFS.
The idea is fairly straight forward. We expose the functionality to store
objects in a ZPool. Currently (AFAIK) the only ways to do this are via a
ZFS filesystem tree or a ZVol. Neither are optimal in all situations, so
offering access to a layer below this could encourage developers to use ZFS
in a targetted way to enhance their projects.
The main things I am thinking of are, of course, databases. With a lower
level of access than is currently accessibly, a database could allocate the
correct sized "blocks", and generally optimised it's use of the pool.
Another area which could be of use if filesystem development. A different
filesystem could be hooked in optimally. For example, a modified Ext4 with
access to the underlying pool could, in some circumstances, work better
than ZFS itself. I'm not saying it would, but in some circumstances it may
be a preferable option.
This could also be a good opportunity to "separate" the projects, so that
the ZPool, ZFS and ZVol can be worked on independently, communicating
through this API. Going a stage further, the VDevs could be separated out,
too. It would be good to be able to develop new VDev drivers, knowing there
is a stable API to work within, and develop, build and distribute them
independently of ZFS.
Let me know your thoughts. This has been at the back of my mind for a while
now, and I just thought I'd throw it out there for feedback.
Regards
Karl
-------------------------------------------
illumos-zfs
Archives: https://www.listbox.com/member/archive/182191/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182191/23047029-187a0c8d
Modify Your Subscription: https://www.listbox.com/member/?member_id=23047029&id_secret=23047029-2e85923f
Powered by Listbox: http://www.listbox.com
I have a suggestion for a future development of ZFS: as the subject,
exposing a "Storage API" for ZFS.
The idea is fairly straight forward. We expose the functionality to store
objects in a ZPool. Currently (AFAIK) the only ways to do this are via a
ZFS filesystem tree or a ZVol. Neither are optimal in all situations, so
offering access to a layer below this could encourage developers to use ZFS
in a targetted way to enhance their projects.
The main things I am thinking of are, of course, databases. With a lower
level of access than is currently accessibly, a database could allocate the
correct sized "blocks", and generally optimised it's use of the pool.
Another area which could be of use if filesystem development. A different
filesystem could be hooked in optimally. For example, a modified Ext4 with
access to the underlying pool could, in some circumstances, work better
than ZFS itself. I'm not saying it would, but in some circumstances it may
be a preferable option.
This could also be a good opportunity to "separate" the projects, so that
the ZPool, ZFS and ZVol can be worked on independently, communicating
through this API. Going a stage further, the VDevs could be separated out,
too. It would be good to be able to develop new VDev drivers, knowing there
is a stable API to work within, and develop, build and distribute them
independently of ZFS.
Let me know your thoughts. This has been at the back of my mind for a while
now, and I just thought I'd throw it out there for feedback.
Regards
Karl
-------------------------------------------
illumos-zfs
Archives: https://www.listbox.com/member/archive/182191/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182191/23047029-187a0c8d
Modify Your Subscription: https://www.listbox.com/member/?member_id=23047029&id_secret=23047029-2e85923f
Powered by Listbox: http://www.listbox.com