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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/16/14 17:10, Dave Chinner wrote:
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.

Makes sense.

--Mark.

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux