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 07-21-2010, 09:24 AM
Steven Whitehouse
 
Default gfs2: remove dependency on __GFP_NOFAIL

Hi,

Looks good to me, I've added it to the -nmw tree. There are a few more
GFP_NOFAIL instances in the code that we can probably remove in the
future, but these two are pretty easy. Thanks for the patch,

Steve.

On Tue, 2010-07-20 at 19:45 -0700, David Rientjes wrote:
> The k[mc]allocs in dr_split_leaf() and dir_double_exhash() are failable,
> so remove __GFP_NOFAIL from their masks.
>
> Cc: Bob Peterson <rpeterso@redhat.com>
> Signed-off-by: David Rientjes <rientjes@google.com>
> ---
> fs/gfs2/dir.c | 11 +++++++++--
> 1 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
> --- a/fs/gfs2/dir.c
> +++ b/fs/gfs2/dir.c
> @@ -955,7 +955,12 @@ static int dir_split_leaf(struct inode *inode, const struct qstr *name)
> /* Change the pointers.
> Don't bother distinguishing stuffed from non-stuffed.
> This code is complicated enough already. */
> - lp = kmalloc(half_len * sizeof(__be64), GFP_NOFS | __GFP_NOFAIL);
> + lp = kmalloc(half_len * sizeof(__be64), GFP_NOFS);
> + if (!lp) {
> + error = -ENOMEM;
> + goto fail_brelse;
> + }
> +
> /* Change the pointers */
> for (x = 0; x < half_len; x++)
> lp[x] = cpu_to_be64(bn);
> @@ -1063,7 +1068,9 @@ static int dir_double_exhash(struct gfs2_inode *dip)
>
> /* Allocate both the "from" and "to" buffers in one big chunk */
>
> - buf = kcalloc(3, sdp->sd_hash_bsize, GFP_NOFS | __GFP_NOFAIL);
> + buf = kcalloc(3, sdp->sd_hash_bsize, GFP_NOFS);
> + if (!buf)
> + return -ENOMEM;
>
> for (block = dip->i_disksize >> sdp->sd_hash_bsize_shift; block-- {
> error = gfs2_dir_read_data(dip, (char *)buf,
 

Thread Tools




All times are GMT. The time now is 08:15 PM.

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