2005-01-04 13:36:21

by Oleg Nesterov

[permalink] [raw]
Subject: [PATCH] fix double sync_page_range() in generic_file_aio_write()

Hello.

generic_file_aio_write():
generic_file_aio_write_nolock():
if (SYNC) sync_page_range_nolock();
if (SYNC) sync_page_range();

I think that generic_file_aio_write() should use
__generic_file_aio_write_nolock() instead.

Oleg.

Signed-off-by: Oleg Nesterov <[email protected]>

--- 2.6.10/mm/filemap.c~ 2004-11-15 17:12:21.000000000 +0300
+++ 2.6.10/mm/filemap.c 2005-01-04 20:20:42.068803912 +0300
@@ -2149,7 +2149,7 @@ ssize_t generic_file_aio_write(struct ki
BUG_ON(iocb->ki_pos != pos);

down(&inode->i_sem);
- ret = generic_file_aio_write_nolock(iocb, &local_iov, 1,
+ ret = __generic_file_aio_write_nolock(iocb, &local_iov, 1,
&iocb->ki_pos);
up(&inode->i_sem);


2005-01-07 07:01:15

by Suparna Bhattacharya

[permalink] [raw]
Subject: Re: [PATCH] fix double sync_page_range() in generic_file_aio_write()


Sorry I missed this one - Thanks for spotting it !

Regards
Suparna

On Tue, Jan 04, 2005 at 05:39:15PM +0300, Oleg Nesterov wrote:
> Hello.
>
> generic_file_aio_write():
> generic_file_aio_write_nolock():
> if (SYNC) sync_page_range_nolock();
> if (SYNC) sync_page_range();
>
> I think that generic_file_aio_write() should use
> __generic_file_aio_write_nolock() instead.
>
> Oleg.
>
> Signed-off-by: Oleg Nesterov <[email protected]>
>
> --- 2.6.10/mm/filemap.c~ 2004-11-15 17:12:21.000000000 +0300
> +++ 2.6.10/mm/filemap.c 2005-01-04 20:20:42.068803912 +0300
> @@ -2149,7 +2149,7 @@ ssize_t generic_file_aio_write(struct ki
> BUG_ON(iocb->ki_pos != pos);
>
> down(&inode->i_sem);
> - ret = generic_file_aio_write_nolock(iocb, &local_iov, 1,
> + ret = __generic_file_aio_write_nolock(iocb, &local_iov, 1,
> &iocb->ki_pos);
> up(&inode->i_sem);

--
Suparna Bhattacharya ([email protected])
Linux Technology Center
IBM Software Lab, India