[PATCH] replace sync_page_range() with generic_write_sync() in file-io.c

manoj.iyer at canonical.com manoj.iyer at canonical.com
Mon Dec 7 18:35:59 UTC 2009


I did consider both functions, and I based my patch on SHAID 
aa3caafe53cab7ef60605e481cd5d7943e1c3022 pohmelfs: Use new syncing helper:
Use new generic_write_sync() helper instead of sync_page_range() patch.

I also saw a patch SHAID af0f4414f343429971d33b0dd8dccc85c1f3dcd2 xfs: 
Convert sync_page_range() to simple filemap_write_and_wait_range()

>From definition of

generic_write_sync - perform syncing after a write if file / inode is sync

seemed more appropriate to me at that time.

Cheers
--- manjo

On Mon, 7 Dec 2009, Tim Gardner wrote:

> Tim Gardner wrote:
>> John Johansen wrote:
>>> Manoj Iyer wrote:
>>>> ----
>>>> resending patch, my previous mail bounced coz of membership requirement
>>>> ----
>>>>
>>>> sync_page_range() was recently removed from 2.6, this causes the
>>>> iscsi-target build to fail in file-io.c. possibly sync_page_range() can be
>>>> replaced with generic_write_sync() ?
>>>>
>>> yeah they basically do the same thing though it looks like generic_write_sync
>>> can be heavier than what is needed in some cases.  See
>>> http://lkml.org/lkml/2009/8/19/330
>>>
>>> I haven't followed through to check whether this is the case with iscsi-target
>>> yet.
>>>
>>
>> Seems to me that we should use filemap_write_and_wait_range() in order
>> to preserve the intended semantics of the original call to
>> sync_page_range(). Since this is a network protocol, we don't want file
>> pages getting cached, or is my interpretation too naive?
>>
>> rtg
>
> Andy - please pull from git://kernel.ubuntu.com/rtg/ubuntu-lucid
> iscsitarget.
>
> Use filemap_write_and_wait_range() in place of sync_page_range(). This
> appears to better preserve the original semantics.
>
> rtg
> -- 
> Tim Gardner tim.gardner at canonical.com
>




More information about the kernel-team mailing list