On Mon, 2011-07-25 at 16:37 -0700, Andrew Morton wrote: > On Sat, 23 Jul 2011 16:16:15 -0700 > "Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx> wrote: > > > Please go ahead and pull from: > > > > master.kernel.org:/pub/scm/linux/kernel/git/nab/target-pending.git for-linus-merge > > i386 allyesconfig: > > ERROR: "__udivdi3" [drivers/target/target_core_mod.ko] undefined! > > somewhere in drivers/target/target_core_transport.c:transport_allocate_data_tasks(). Mmmm, I was under the assumption that DIV_ROUND_UP() did unsigned long long division correctly for sector_t on 32-bit , but apparently not with the new v4.1 transport_allocate_data_tasks() code.. Andy..? Once upon a time we used the following __udivdi3() and __umoddi3() wrappers around do_div() to handle this instruction in target_core_mod for 32-bit, but we ended up removing these during the .38 merge in favor of IIRC direct do_div() usage. These wrappers are still in use for LIO backports on 32-bit x86 and arm however.. So I'll go ahead and make sure this works on i386 with lio-core-2.6.git shortly, and double check __udivdi3() usage with iscsi-target in for-next. Andrew and Christoph, did have any input on a preffered method of handling this case in the new v4.1 DIV_ROUND_UP() usage..? Thank you! --nab -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html