cryptofreak.org cryptofreak home projects
contact about
Contact:


projects
News Agenda
Antera Antera
News Commentator
News fcreate
Linux Porting Linux Porting
mod-chal mod-chal
Quake III Quake III
News Zope
Contact: webmaster

From: Perry and Lorae Merritt (plmerritt, hypermall dot net)
Date: 2001.11.08 - 12.01 MST


X-Mailer: Microsoft Outlook Express 5.50.4522.1200

I did some looking this morning starting at /usr/src/linux/fs/buffer.c looking at the bread() function. The bread function is the call in buffer cache that either returns a hit or reads the data from disk into cache and then returns the hit. It calls a function called ll_rw_block which is in the block drivers. It talks a bit about LVMs in that code. Then a function called bh_present or present_bh is called which then calles generic_make_request. The last call, calls the specific device driver for the device, presumably ARVM. 

All through the call sequence a structure called buffer_head is passed. It's defined in /usr/linux/include/linux/fs.h and it contains the block size, black address, dev number for the data. 

It looks like we can set the blocksize for our device. It also looks like the default is 1KB, giving a 4TB volume limit. 

That's about as far as I got.

P
  ----- Original Message ----- 
  From: June Mullins 
  To: antera, cryptofreak dot org 
  Sent: Wednesday, November 07, 2001 3:16 PM
  Subject: Re: terabyte limit


  Kevin's note says Reiser is limited by page cache to 17592 GB on systems with 32 bit
  addressing (presumably because Reiser uses 4k blocks).  Isn't that about 17TB, or am I misreading
  the digits?  And the LVM and block layer fixes, which are below us, allow a logical volume
  to be > 2TB, which it must be to accomodate the larger file system.  But I don't know what else
  is involved. 

                June




  Perry and Lorae Merritt wrote:

Since I'm pretty sure the block layer is below us and since we're dealingwith physical devices that are less than a TB, why would we apply fixes tothe block layer?I guess what we really need to know is how is LVM called from above? What isthe data structure that is passed? I guess this is another reason for me tohave a linux box here, or at least the source code. ;-)In the old days, on AIX, the block driver was passed a structure called abuf structure. That structure had the device stuff in it for the IO. Itcontained the mem address of where to put/get the data, which device it wason, and the offset on the device. Does Linux use a similar mechanism?P----- Original Message -----From: "June Mullins" <junemullins, earthlink dot net>To: <antera, cryptofreak dot org>Sent: Tuesday, November 06, 2001 2:09 PMSubject: Re: terabyte limit
So, from the note, it sounds like we would just have to apply the 64 bitpatch tothe generic block layer (and to lvm, if we wind up using it) to getaround the 1 or2 Tb limit.  However see the link in the referenced note to the nextnote aboutLVM extent size - that might be something to worry about if we use lvmrather than roll our own.           JuneDon jessup wrote:
  Here is a link to some information on the limit  size.http://lists.sistina.com/pipermail/linux-lvm/2001-September/008678.html__________________________________________________Do You Yahoo!?Find a job, post your resume.http://careers.yahoo.com--This !
is the antera mailing list.  To unsubscribe, emailmajordomo, cryptofreak dot org with message body `unsubscribe antera'.Or, for more information, visit http://www.cryptofreak.org/.
--This is the antera mailing list.  To unsubscribe, emailmajordomo, cryptofreak dot org with message body `unsubscribe antera'.Or, for more information, visit http://www.cryptofreak.org/.
--This is the antera mailing list.  To unsubscribe, emailmajordomo, cryptofreak dot org with message body `unsubscribe antera'.Or, for more information, visit http://www.cryptofreak.org/.




--
This is the antera mailing list.  To unsubscribe, email
majordomo, cryptofreak dot org with message body `unsubscribe antera'.
Or, for more information, visit http://www.cryptofreak.org/.



This archive was generated by hypermail 2b30 : 2001.11.09 - 04.02 MST