xfs
[Top] [All Lists]

Re: [PATCH] xfs: fix 32bit __divdi3 undefined

To: Mark Tinguely <tinguely@xxxxxxx>
Subject: Re: [PATCH] xfs: fix 32bit __divdi3 undefined
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 17 Apr 2014 08:10:00 +1000
Cc: XFS Filesystem <xfs@xxxxxxxxxxx>, Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140416215223.512644029@xxxxxxx>
References: <534EAB41.60901@xxxxxxxxxxxxx> <20140416215223.512644029@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Wed, Apr 16, 2014 at 04:51:56PM -0500, Mark Tinguely wrote:
> The roundup in commit 68c1fb5d should be a roundup_64()
> because it is desired to round a 64 bit type by an integer
> and that will result in a 64 bit value. On 32 bit machines
> using roundup() in this case will result in the error:
> 
>  ERROR: "__divdi3" [fs/xfs/xfs.ko] undefined!
> 
> Reported-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> Signed-off-by: Mark Tinguely <tinguely@xxxxxxx>
> ---
>  fs/xfs/xfs_aops.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: b/fs/xfs/xfs_aops.c
> ===================================================================
> --- a/fs/xfs/xfs_aops.c
> +++ b/fs/xfs/xfs_aops.c
> @@ -1365,7 +1365,7 @@ __xfs_get_blocks(
>               if (offset < i_size_read(inode) &&
>                   offset + mapping_size >= i_size_read(inode)) {
>                       /* limit mapping to block that spans EOF */
> -                     mapping_size = roundup(i_size_read(inode) - offset,
> +                     mapping_size = roundup_64(i_size_read(inode) - offset,
>                                              1 << inode->i_blkbits);
>               }
>               if (mapping_size > LONG_MAX)

I'm not going to apply this as a patch - I'm going to rebase the
branch with the fix in the original patch so we don't have a bisect
breakage in the branch. Don't worry, I'll add the fact you fixed the
bug into the commit message...

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>