Hi Ben,

In article <[EMAIL PROTECTED]> you 
wrote:

> For this case, doing it at the page level is wrong; it would be far
> better to have readpage trigger a brw_kiovec_async and then do the
> decryption on the kiobuf callback.  Once decryption is done, make the page
> uptodate and do a wakeup on it.
> 
[...]
> 
> In the long term, using struct page as the io handle isn't as efficient as
> moving to kiovecs, which will make stacked filesystems *much* easier.

I have not looked very closely at the kiovec API, but my understanding
is that is a block-device interface, not a filesystem interface (I'm
actually quite sure of the latter). As such, it is completely unacceptable
to use for stacked filesystems, as the whole point of a stacked/stackable
filesystem is that is makes absolutely no assumptions about the filesystem
stacked underneath it. The stackable filesystem code *must* *only* call
the lower filesystem's methods (or not call them at all if appropriate, 
or maybe use VFS helpers) in order to allow for arbitrary stacking.

For this reason, it is imperative that the lower filesystem's readpage()
method be used to retrieve data. As appealing as the kiovec interface
might be, it simply isn't appropriate here.

Ion

-- 
  It is better to keep your mouth shut and be thought a fool,
            than to open it and remove all doubt.
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]

Reply via email to