Hi,
In the implementation of file systems for 2.6 kernels,
generic_file_read is often replaced with do_sync_read(). In this
function we call "filp->f_op->aio_read" unconditionally.
where most of the times aio_read is intialized as
generic_file_aio_read(). Wouldn't it be a good idea to change the
following code
241 for (;;) {
242 ret = filp->f_op->aio_read(&kiocb, &iov, 1, kiocb.ki_pos);
243 if (ret != -EIOCBRETRY)
244 break;
245 wait_on_retry_sync_kiocb(&kiocb);
to
241 for (;;) {
242 if(filp->f_op->aio_read)
243 ret = filp->f_op->aio_read(&kiocb, &iov, 1, kiocb.ki_pos);
244 else
245 ret = generic_file_aio_read(&kiocb, &iov, 1, kiocb.ki_pos);
246 if (ret != -EIOCBRETRY)
247 break;
248 wait_on_retry_sync_kiocb(&kiocb);
Just to have a fall back mechanism as we do at many places in the VFS layer..
--
Thanks & Regards,
********************************************
Manish Katiyar ( http://mkatiyar.googlepages.com )
3rd Floor, Fair Winds Block
EGL Software Park
Off Intermediate Ring Road
Bangalore 560071, India
***********************************************
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
[Site Home]
[Audio]
[Hams]
[Kernel Newbies]
[Memory]
[Security]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite Photos]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Samba]
[Video 4 Linux]
[Linux Resources]
[Fedora Users]