We would like to start prelim codereview for the ZFS Crypto project 
today.  Why prelim rather than final ?  There are a couple of issues 
that still need to be resolved (see the list of Bugster openbugs in 
development/zfs/kernel with keyword zfs-crypto).  The bulk of the code 
is ready (and has been since around April) for codereview.


## CodeReview for Phase 1 of the ZFS Crypto project

* Webrev: http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/

* Mercurial Workspace: 
http://src.opensolaris.org/source/xref/zfs-crypto/gate/
## CodeReview for Phase 1 of the ZFS Crypto project

* Webrev: 
[http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/](http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/)

* OpenGrok: http://src.opensolaris.org/source/xref/zfs-crypto/gate/

## Review timing

Codereview starts *Friday 5th September 2008 at 1200 US/Pacific* and is 
scheduled to end on *Friday 3rd October 2008 at 2359 US/Pacific*. 
Comments recieved after this time will still be considered but unless 
there are serious in nature (data corruption, security issue, regression 
from existing ZFS) they may have to wait until post onnv-gate 
integration to be addressed; however every comment will be looked at and 
assessed on its own merit.

## How to send comments

All source code review comments should be sent to 
zfs-crypto-discuss at opensolaris.org.   If for any reason you feel you 
need to send comments confidentially then please email me directly 
(Darren.Moffat at Sun.COM).

## Updates during the review period

During the codereview period, and right up until integration into 
onnv-gate, there will be changes made to address last minute bugs and 
the to address review comments.  The original webrev will be left alone 
and new ones will be produced as we feel they will be useful. At the end 
of the review period there will be two new webrev's produced: one 
against onnv-gate at the time and the other against the webrev at the 
start of the review period.

## Source overview

* $SRC/uts/common/fs/zfs/zio\_crypto.c
* $SRC/lib/libzfs/common/libzfs\_crypto.c

This is where all the real crypto happens almost everything else calls 
into functions in these files in kernel and userland respectively.

The rest of the files are already existing ZFS functionality.

* Major ZFS functional areas with change:
* 
[ZIO](http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/usr/src/uts/common/fs/zfs/zio.c.frames.html)
* 
[ZIL](http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/usr/src/uts/common/fs/zfs/zfs_log.c.frames.html)
* 
[ARC](http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/usr/src/uts/common/fs/zfs/arc.c.frames.html)
* [ZFS 
IOCTL](http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/usr/src/uts/common/fs/zfs/zfs_ioctl.c.frames.html)
* 
[DMU](http://cr.opensolaris.org/~darrenm/zfs-crypto-gate/webrev/usr/src/uts/common/fs/zfs/dmu_objset.c.frames.html)
The changes to the zfs/zpool commands should be purely CLI related and 
the real work happens in functions in libzfs.

## Non ZFS files in the review webrev

Note that there are changes to a few non ZFS files in the gate at this
time notably the following:

usr/src/cmd/cmd-crypto/decrypt/decrypt.c
usr/src/cmd/cmd-crypto/digest/digest.c
usr/src/lib/libcryptoutil/common/cryptoutil.h
usr/src/lib/libcryptoutil/common/debug.c
usr/src/lib/libcryptoutil/common/keyfile.c
usr/src/lib/libcryptoutil/common/mapfile-vers
usr/src/lib/libcryptoutil/common/tohexstr.c
usr/src/common/crypto/modes/ccm.c

These are to be reviewed by the crypto framework team and/or are
already in the process of being integrated separately.  All the
changes in those files will be integrated before the ZFS Crypto project.




-- 
Darren J Moffat

Reply via email to