diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /fs/xfs/xfs_rtalloc.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'fs/xfs/xfs_rtalloc.c')
| -rw-r--r-- | fs/xfs/xfs_rtalloc.c | 24 | 
1 files changed, 8 insertions, 16 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index 488719d43ca8..329d4d26c13e 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -1,19 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright (c) 2000-2005 Silicon Graphics, Inc.   * All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write the Free Software Foundation, - * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA   */  #include "xfs.h"  #include "xfs_fs.h" @@ -313,8 +301,12 @@ xfs_rtallocate_extent_block(  		/*  		 * If size should be a multiple of prod, make that so.  		 */ -		if (prod > 1 && (p = do_mod(bestlen, prod))) -			bestlen -= p; +		if (prod > 1) { +			div_u64_rem(bestlen, prod, &p); +			if (p) +				bestlen -= p; +		} +  		/*  		 * Allocate besti for bestlen & return that.  		 */ @@ -1275,7 +1267,7 @@ xfs_rtpick_extent(  		b = (mp->m_sb.sb_rextents * ((resid << 1) + 1ULL)) >>  		    (log2 + 1);  		if (b >= mp->m_sb.sb_rextents) -			b = do_mod(b, mp->m_sb.sb_rextents); +			div64_u64_rem(b, mp->m_sb.sb_rextents, &b);  		if (b + len > mp->m_sb.sb_rextents)  			b = mp->m_sb.sb_rextents - len;  	}  | 
