Re: [GIT PULL] iscsi-target merge for v3.1-rc1
From: Nicholas A. Bellinger
Date: Mon Jul 25 2011 - 20:42:25 EST
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/