Hi,

Looks good to me. Thanks,

Steve.

On Sun, 2011-01-09 at 15:07 +0100, maximilian attems wrote:
> Seen in RH 2.6.32, please consider for longterm 2.6.32 inclusion.
> Applies fine to latest Debian 2.6.32.
> 
> RH bug desc:
> "This is a very small fix to an important bmap issue. It has been tested
> with the reproducer and it fixes the problem (what appeared as a failed
> msync() but was traced back to an incorrect bmap call. Changing the
> termination condition on the loop fixes the bug (bz #564329). The patch
> is in the GFS2 git tree and has been sent to Linus for inclusion
> upstream,"
> 
> Thank you.
> 
> ----- Forwarded message from Linux Kernel Mailing List 
> <[email protected]> -----
> 
> Date: Fri, 12 Feb 2010 16:59:03 GMT
> From: Linux Kernel Mailing List <[email protected]>
> To: [email protected]
> Subject: GFS2: Fix bmap allocation corner-case bug
> 
> Gitweb:     
> http://git.kernel.org/linus/07ccb7bf2c928fef4fea2cda69ba2e23479578db
> Commit:     07ccb7bf2c928fef4fea2cda69ba2e23479578db
> Parent:     0e5a9fb0426108d750c97c25b1ab04d3768b5aff
> Author:     Steven Whitehouse <[email protected]>
> AuthorDate: Fri Feb 12 10:10:55 2010 +0000
> Committer:  Steven Whitehouse <[email protected]>
> CommitDate: Fri Feb 12 10:16:14 2010 +0000
> 
>     GFS2: Fix bmap allocation corner-case bug
>     
>     This patch solves a corner case during allocation which occurs if both
>     metadata (indirect) and data blocks are required but there is an
>     obstacle in the filesystem (e.g. a resource group header or another
>     allocated block) such that when the allocation is requested only
>     enough blocks for the metadata are returned.
>     
>     By changing the exit condition of this loop, we ensure that a
>     minimum of one data block will always be returned.
>     
>     Signed-off-by: Steven Whitehouse <[email protected]>
> ---
>  fs/gfs2/bmap.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
> index 6d47379..583e823 100644
> --- a/fs/gfs2/bmap.c
> +++ b/fs/gfs2/bmap.c
> @@ -541,7 +541,7 @@ static int gfs2_bmap_alloc(struct inode *inode, const 
> sector_t lblock,
>                               *ptr++ = cpu_to_be64(bn++);
>                       break;
>               }
> -     } while (state != ALLOC_DATA);
> +     } while ((state != ALLOC_DATA) || !dblock);
>  
>       ip->i_height = height;
>       gfs2_add_inode_blocks(&ip->i_inode, alloced);
> --
> To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> ----- End forwarded message -----


_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to