[lkml]   [2000]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: 64bit offsets for block devices ?

[Reto Baettig]
> Imagine we have a virtual disk which provides a 64bit (sparse)
> address room. Unfortunately we can not use it as a block device
> because in a lot of places (including buffer_head structure), we're
> using a long or even an int for the block number.

Actually it should be 'unsigned long'. If anyone uses 'long' or 'int',
I guess it's a bug.

> Is there any way of getting a standardized way of doing I/O to a block
> device which could handle 64bit addresses for the block number?

Yeah, tell the world you explicitly don't support 32-bit architectures.
Linux supports (to some degree) at least four 64-bit architectures,
where 'unsigned long' is nice and big. And I imagine support for
POWER3 and HP-PA 2.0w are coming in the not-so-distant future.

Either that, or (since you say the address space is sparse) do your own
block mapping within the driver. If you still need more than 32 bits,
you'll have to fudge it with multiple virtual devices.

> Don't you think that we will run into problems anyway because soon
> there will be raid systems with a couple of Terrabytes of space to
> waste for mp3's ;-)

A couple of terabytes is fine. That's 32 bits of blocks. *More* than
that, now, we've got a problem.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:51    [W:0.029 / U:3.700 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site