Richard Elling wrote:
> I think this reveals a more interesting challenge.  If the on-disk format
> changes when we add features, and feature additions are represented
> by incrementing the version, then we might create a reason to fork.
> Perhaps we should look at having an implemented features list instead?
> For example, if CZFS does not implement user quotas, then it could
> just ignore them if they do not exist on the medium.

CZFS effectively does that already by returning ENOTSUP from some 
functions like ACL or quotas.

The big issue though is that CZFS compacted some critical on disk 
structure like the blkptr_t, compare the CZFS blkptr at  with the normal 
ZFS one at:

http://src.opensolaris.org/source/xref/osarm/onarm-gate/usr/src/uts/common/fs/czfs/sys/spa.h#47
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/sys/spa.h#120

That is the incompatible on disk part that is problematic, in particular 
it means CZFS can't support encryption because the space needed to store 
the IV has been taken away.   It might also not be able to support 
bp_write since there may be a need to store additional info in the 
blkptr_t for "moved" blocks.

The feature additions as a list could be done still and has been 
discussed before.

-- 
Darren J Moffat

Reply via email to