On Sun, Mar 08 2009, Yien Zheng wrote: > I tried applying this patch, but the fragmentation_percent function is > giving me: > > WARNING: "__udivdi3" > [/home/partition6/yien/git/linux-git/fs/btrfs/btrfs.ko] undefined! > > when I compile, and the module fails to load, even though the build > completes. I've traced it to the calculation of max_fragments: > > max_fragments = (block_group->key.offset - > btrfs_block_group_used(&block_group->item)) / > block_group->fragment_size; > > It seems that accessing block_group in here is causing a reference to > __udivdi3 somehow. Any idea what's going on here?
You can't to 64-bit divides on 32-bit archs. Make that max_fragments = block_group->key.offset - btrfs_block_group_used(&block_group->item); do_div(max_fragments, block_group->fragment_size); and it should work. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
