FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 06-07-2010, 10:18 AM
Steven Whitehouse
 
Default gfs2: stop using mpage_writepage

Hi,

On Mon, 2010-06-07 at 12:03 +0200, Christoph Hellwig wrote:
> GFS2 always creates buffer_heads during ->write_begin or ->page_mkwrite,
> which means mpage_writepage always falls back to block_write_full_page.
>
> So stop calling mpage_writepage and always call block_write_full_page
> directly.
>
->write_begin does, but I did hope to change that eventually. On the
other hand that isn't true of ->page_mkwrite unless an unstuffing
operation occurs,

Steve.

> Signed-off-by: Christoph Hellwig <hch@lst.de>
>
> Index: linux-2.6/fs/gfs2/aops.c
> ================================================== =================
> --- linux-2.6.orig/fs/gfs2/aops.c 2010-06-07 11:22:42.239273013 +0200
> +++ linux-2.6/fs/gfs2/aops.c 2010-06-07 11:23:23.563255580 +0200
> @@ -136,10 +136,7 @@ static int gfs2_writeback_writepage(stru
> if (ret <= 0)
> return ret;
>
> - ret = mpage_writepage(page, gfs2_get_block_noalloc, wbc);
> - if (ret == -EAGAIN)
> - ret = block_write_full_page(page, gfs2_get_block_noalloc, wbc);
> - return ret;
> + return block_write_full_page(page, gfs2_get_block_noalloc, wbc);
> }
>
> /**
 
Old 06-07-2010, 04:19 PM
Steven Whitehouse
 
Default gfs2: stop using mpage_writepage

Use nobh_writepage rather than calling mpage_writepage directly.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>

diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 9f8b525..9485a88 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -136,10 +136,7 @@ static int gfs2_writeback_writepage(struct page
*page,
if (ret <= 0)
return ret;

- ret = mpage_writepage(page, gfs2_get_block_noalloc, wbc);
- if (ret == -EAGAIN)
- ret = block_write_full_page(page, gfs2_get_block_noalloc, wbc);
- return ret;
+ return nobh_writepage(page, gfs2_get_block_noalloc, wbc);
}

/**
 

Thread Tools




All times are GMT. The time now is 07:21 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org