2009-07-02 08:24:17

by Michal Simek

[permalink] [raw]
Subject: generic_file_aio_write on nfs

Hi Benjamin,

I am doing LTP tests on Microblaze cpu and I am getting some faults.
I found that the problem is caused by generic_file_aio_write function.
I did quick patch with disable usage of generic_file_aio_write function and
use only write function which works. I haven't debug
generic_file_aio_write function.

I am running Linux with initramfs and LTP programs are run from nfs.

Have you ever met with this problem?

Thanks,
Michal

[monstr@monstr linux-monstr.eu-commit]$ git diff fs/read_write.c
diff --git a/fs/read_write.c b/fs/read_write.c
index 400fe81..e639098 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -642,7 +642,8 @@ static ssize_t do_readv_writev(int type, struct file
*file,
fnv = file->f_op->aio_read;
} else {
fn = (io_fn_t)file->f_op->write;
- fnv = file->f_op->aio_write;
+ //fnv = file->f_op->aio_write;
+ fnv = 0;
}

if (fnv)

--
Michal Simek, Ing. (M.Eng)
w: http://www.monstr.eu p: +42-0-721842854


2009-07-13 15:37:08

by Michal Simek

[permalink] [raw]
Subject: Re: generic_file_aio_write on nfs

Hi All,

can someone met with problem writev01, writev03, writev04?
Kernel patch below solve my issue but I have no idea why I couldn't use
generic aio write function.

Thanks,
Michal
> Hi Benjamin,
>
> I am doing LTP tests on Microblaze cpu and I am getting some faults.
> I found that the problem is caused by generic_file_aio_write function.
> I did quick patch with disable usage of generic_file_aio_write function and
> use only write function which works. I haven't debug
> generic_file_aio_write function.
>
> I am running Linux with initramfs and LTP programs are run from nfs.
>
> Have you ever met with this problem?
>
> Thanks,
> Michal
>
> [monstr@monstr linux-monstr.eu-commit]$ git diff fs/read_write.c
> diff --git a/fs/read_write.c b/fs/read_write.c
> index 400fe81..e639098 100644
> --- a/fs/read_write.c
> +++ b/fs/read_write.c
> @@ -642,7 +642,8 @@ static ssize_t do_readv_writev(int type, struct file
> *file,
> fnv = file->f_op->aio_read;
> } else {
> fn = (io_fn_t)file->f_op->write;
> - fnv = file->f_op->aio_write;
> + //fnv = file->f_op->aio_write;
> + fnv = 0;
> }
>
> if (fnv)
>
>


--
Michal Simek, Ing. (M.Eng)
PetaLogix - Linux Solutions for a Reconfigurable World
w: http://www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663