From: Andries.Brouwer@cwi.nl
To: Andries.Brouwer@cwi.nl, linux-kernel@vger.kernel.org,
linux-scsi@vger.kernel.org, pbadari@us.ibm.com
Subject: Re: [patch for playing] Patch to support 4000 disks and maintain backward compatibility
Date: Fri, 11 Apr 2003 01:09:14 +0200 (MEST) [thread overview]
Message-ID: <UTC200304102309.h3AN9EV07692.aeb@smtp.cwi.nl> (raw)
> A different way out, especially when we use 32+32, is to kill this
> sd_index_bits[] array, and give each disk a new number: replace
> index = find_first_zero_bit(sd_index_bits, SD_DISKS);
> by
> index = next_index++;
I wish it is that simple. We use sd_index_bits[] since we could
sd_detach() and then sd_attach() few disks. We will end up with
holes, name slippage without this. We need to know what disks are
currently being in use.
It is that simple. (At least with 64-bit dev_t.)
Look at the use of sd_index_bits[]. It is static in sd.c.
There is the definition, the first free bit is found (and set)
in sd_attach() to provide our disk with a number, this bit is
cleared again in sd_detach().
That is all. In other words, a mechanism to give an unused number
to each disk for which sd_attach() is called.
Now suppose we do nothing in sd_detach().
Then we don't know which disks have disappeared. Pity.
If the number space is infinite then
index = next_index++;
gives a new number each time we need one.
Now that it is finite, some estimates are needed. How often
will sd_attach() be called during the uptime of this kernel /
the lifetime of this computer? And how much space is available?
Among 2^64 device numbers, 2^48 reserved for scsi disks
is a very small fraction. With at most 2^12 partitions
on each disk that would leave room for 2^36 disks.
Do you think during the lifetime of this computer a new
scsi disk will be added more than 68 . 10^9 times?
That would be adding 400 disks each second for five years.
You see, 2^64 is not infinite, but it is close.
Andries
next reply other threads:[~2003-04-10 22:57 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-10 23:09 Andries.Brouwer [this message]
2003-04-10 23:16 ` Badari Pulavarty
-- strict thread matches above, loose matches on Subject: below --
2003-04-13 13:59 Paul McKenney
2003-04-12 1:13 Paul McKenney
2003-04-12 14:14 ` James Bottomley
2003-04-11 21:13 Andries.Brouwer
2003-04-11 19:45 Andries.Brouwer
2003-04-11 20:14 ` James Bottomley
2003-04-11 23:21 ` Joel Becker
2003-04-11 18:07 Andries.Brouwer
2003-04-11 19:12 ` James Bottomley
2003-04-11 11:42 Andries.Brouwer
2003-04-11 14:33 ` James Bottomley
2003-04-11 16:21 ` Badari Pulavarty
2003-04-11 0:13 Andries.Brouwer
2003-04-10 23:53 Andries.Brouwer
2003-04-11 1:09 ` Badari Pulavarty
2003-04-11 10:09 ` Douglas Gilbert
2003-04-11 16:12 ` Badari Pulavarty
2003-04-10 23:33 Andries.Brouwer
2003-04-10 23:37 ` Badari Pulavarty
2003-04-10 22:09 Andries.Brouwer
2003-04-10 22:22 ` Badari Pulavarty
2003-04-10 23:57 ` Roman Zippel
2003-04-10 20:39 Badari Pulavarty
2003-04-10 20:54 ` Randy.Dunlap
2003-04-11 0:08 ` Roman Zippel
2003-04-11 1:25 ` Badari Pulavarty
2003-04-11 15:43 ` Joel Becker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=UTC200304102309.h3AN9EV07692.aeb@smtp.cwi.nl \
--to=andries.brouwer@cwi.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=pbadari@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®