On Sun, Sep 17, 2006 at 10:39:07PM +0400, Vladimir V. Saveliev wrote:
> It seems the problem can be fixed a bit simpler. Currently, there is a 
> difference between read and readv: read calls f_op->read if it is defined,
> but readv calls f_op->read if f_op->aio_read is not defined. The latest is a 
> bit unlogical imho: 
> wouldn't it be more consistent if readv worked via f_op->read if it is 
> defined?
> If we fixed readv (do_readv_writev) that way - reiser4 would not need 
> anything from its aio_read but generic_file_aio_read.

This behaviour is historic baggae.  readv used to call ->readv and fall
back to ->read when it wasn't available.  We now merged ->readv into
->aio_read and kept that behaviour.  I think it makes sense, though - if
the filesystem supports vator operations via ->aio_read we should use
them and not fall back to the manual looping around ->read.

I'd rather change read to do the same thing as readv so we have
consistent behaviour.

why does this matter for reiser4?

Reply via email to