From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752824Ab1GZAmY (ORCPT ); Mon, 25 Jul 2011 20:42:24 -0400 Received: from mail.linux-iscsi.org ([67.23.28.174]:36254 "EHLO linux-iscsi.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751794Ab1GZAmR (ORCPT ); Mon, 25 Jul 2011 20:42:17 -0400 Subject: Re: [GIT PULL] iscsi-target merge for v3.1-rc1 From: "Nicholas A. Bellinger" To: Andrew Morton Cc: Linus Torvalds , target-devel , linux-scsi , LKML , Christoph Hellwig , Andy Grover , Hannes Reinecke , Roland Dreier , James Bottomley , Boaz Harrosh , Mike Christie , Andy Grover In-Reply-To: <20110725163739.5c19b04d.akpm@linux-foundation.org> References: <1311462975.31450.356.camel@haakon2.linux-iscsi.org> <20110725163739.5c19b04d.akpm@linux-foundation.org> Content-Type: text/plain Date: Mon, 25 Jul 2011 17:32:56 -0700 Message-Id: <1311640376.17766.221.camel@haakon2.linux-iscsi.org> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2011-07-25 at 16:37 -0700, Andrew Morton wrote: > On Sat, 23 Jul 2011 16:16:15 -0700 > "Nicholas A. Bellinger" 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