==+== FAST '09 Paper Review Form

==-== Set the paper number and fill out lettered sections A through G.

==-== DO NOT CHANGE LINES THAT START WITH ”==+==”!

==+== RAJU MUST REPLACE THIS LINE BEFORE UPLOADING

==+== Begin Review

==+== Paper #000000

==-== Replace '000000' with the actual paper number.

==+== Review Readiness

==-== Enter “Ready” here if the review is ready for others to see:

Ready

==+== A. Overall merit

==-== Enter a number from 1 to 5.

==-== Choices: 1. Reject

==-== 2. Weak reject

==-== 3. Weak accept

==-== 4. Accept

==-== 5. Strong accept

4

==+== B. Novelty

==-== Enter a number from 1 to 5.

==-== Choices: 1. Published before

==-== 2. Done before (not necessarily published)

==-== 3. Incremental improvement

==-== 4. New contribution

==-== 5. Surprisingly new contribution

4

==+== C. Longevity

==-== How important will this work be over time?

==-== Enter a number from 1 to 5.

==-== Choices: 1. Not important now or later

==-== 2. Low importance

==-== 3. Average importance

==-== 4. Important

==-== 5. Exciting

4

==+== D. Reviewer expertise

==-== Enter a number from 1 to 4.

==-== Choices: 1. No familiarity

==-== 2. Some familiarity

==-== 3. Knowledgeable

==-== 4. Expert

3

==+== E. Paper summary

This paper presents the design and implementation of a framework capable of executing filesystem kernel code in user-space programs. They implemented the framework for the NetBSD operating system. It offers all the kernel interfaces required for the filesystem code in order to execute at this level. The authors map all this interfaces to user-space libraries that simulate the normal behavior of the kernel. There are two ways of accessing this framework. The first one allows an application to access the library that make filesystem calls to the underlying disk. The second option offers the use of puffs (similar to FUSE but for NetBSD) to mount the file system at the kernel level but execute the filesystem code in user space.

==+== F. Comments for author

The paper is very well presented. The idea is quite good and they offer an implementation that probe it actually works. The framework offers good advantages like implementation of kernel code in user space and access to a filesystem which implementation is not offered by the kernel in use.

A major drawback of the system is that it is closely attached to the kernel that implement the filesystem. That means that the framework they are providing will only work for the filesystem codes implemented for the NetBSD operating system. However, I think this is inevitable since there is no common filesystem interface among all operating systems.

As a general commant I think it would be good to explain the figures further. In my point of view, some pictures deserve a more explainatory caption. For example, I do not understand the purpose of Figure 5, What is the dashed line? fork() + exec()?. Moreover, Figure 1 could be improved by adding the information of what component ends up comunicating with the disk.

==+== G. Comments for PC (hidden from authors)

[Enter your comments here]

==+== End Review