diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-04-03 10:33:45 -0400 | 
|---|---|---|
| committer | Chris Mason <chris.mason@oracle.com> | 2009-04-03 10:33:45 -0400 | 
| commit | 93dbfad7ac647d4f00354893fe93e8a55be114d5 (patch) | |
| tree | dd9fbb0a3b2fc2a413f0083e42fb2cc779b5c5cd /fs/btrfs/extent_io.c | |
| parent | 09771430f3b46ee27c69daa7ecad82007568e834 (diff) | |
Btrfs: fix __ucmpdi2 compile bug on 32 bit builds
We get this on 32 builds:
fs/built-in.o: In function `extent_fiemap':
(.text+0x1019f2): undefined reference to `__ucmpdi2'
Happens because of a switch statement with a 64 bit argument.
Convert this to an if statement to fix this.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_io.c')
| -rw-r--r-- | fs/btrfs/extent_io.c | 16 | 
1 files changed, 5 insertions, 11 deletions
| diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 08085af089e2..eb2bee8b7fbf 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2884,25 +2884,19 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,  		disko = 0;  		flags = 0; -		switch (em->block_start) { -		case EXTENT_MAP_LAST_BYTE: +		if (em->block_start == EXTENT_MAP_LAST_BYTE) {  			end = 1;  			flags |= FIEMAP_EXTENT_LAST; -			break; -		case EXTENT_MAP_HOLE: +		} else if (em->block_start == EXTENT_MAP_HOLE) {  			flags |= FIEMAP_EXTENT_UNWRITTEN; -			break; -		case EXTENT_MAP_INLINE: +		} else if (em->block_start == EXTENT_MAP_INLINE) {  			flags |= (FIEMAP_EXTENT_DATA_INLINE |  				  FIEMAP_EXTENT_NOT_ALIGNED); -			break; -		case EXTENT_MAP_DELALLOC: +		} else if (em->block_start == EXTENT_MAP_DELALLOC) {  			flags |= (FIEMAP_EXTENT_DELALLOC |  				  FIEMAP_EXTENT_UNKNOWN); -			break; -		default: +		} else {  			disko = em->block_start; -			break;  		}  		if (test_bit(EXTENT_FLAG_COMPRESSED, &em->flags))  			flags |= FIEMAP_EXTENT_ENCODED; | 
