From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Hansen Subject: Re: [LSF/MM TOPIC] Fixing large block devices on 32 bit Date: Fri, 31 Jan 2014 13:47:18 -0800 Message-ID: <52EC19E6.9010509@intel.com> References: <1391194978.2172.20.camel@dabdike.int.hansenpartnership.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Return-path: Received: from mga09.intel.com ([134.134.136.24]:11762 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752785AbaAaVrT (ORCPT ); Fri, 31 Jan 2014 16:47:19 -0500 In-Reply-To: <1391194978.2172.20.camel@dabdike.int.hansenpartnership.com> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: James Bottomley , linux-scsi , linux-ide , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Cc: lsf-pc@lists.linux-foundation.org On 01/31/2014 11:02 AM, James Bottomley wrote: > 3. Increase pgoff_t and the radix tree indexes to u64 for > CONFIG_LBDAF. This will blow out the size of struct page on 32 > bits by 4 bytes and may have other knock on effects, but at > least it will be transparent. I'm not sure how many acrobatics we want to go through for 32-bit, but... Between page->mapping and page->index, we have 64 bits of space, which *should* be plenty to uniquely identify a block. We could easily add a second-level lookup somewhere so that we store some cookie for the address_space instead of a direct pointer. How many devices would need, practically? 8 bits worth?