Re: PATCH for 2.3.30: block device setup cleanup.

Martin Dalecki (dalecki@cs.net.pl)
Wed, 08 Dec 1999 01:19:44 +0100


This is a multi-part message in MIME format.
--------------A00B38D8E1FAABC7F0A1E5F0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Andries.Brouwer@cwi.nl wrote:
>
> Marcin:
>
> > So what's the problem? I'm starting to eat this fish from the back, so
> > you could start doing it at *the* *same* time from the head.
>
> No, it is your turn now.

There it is ;-). However I still didn't extend the semantics
of the struct blk_dev_size blk_dev[] array into a conglomerate of
per device not just per major object, becouse basically:

1. The speed optimizations I have applyed to ll_rw_blk.c are
interresting
for theyr own sake. All the setup done in blk_dev_init where blk_dev
just get's
initialized in one run will later be moved to some kind of per device
allocation
function. They help to reduce the number of direct refferences of
blk_dev there too...
(BTW. Just compare the size of ll_rw_blk.o befor and after and you will
basically
scream about the exhaustive switches on hardcoded major numbers found
there....)

2. I Have to think over about what exactly to do with the similiar
static arrays
blkdevs and chrdevs in fs/devices.c. (Fortunately all the lookup done on
this
isn't in any place timinig crucial.

3. I wonted to give this patch out, since it's entierly clean in itself,
so can be easly
tested. (Or even permanently applyed.)

4. I still need time to dig a bit deeper into the loop and raid driver
*mess*.

BTW. Surprisingly the transition for 2.3.29 to 2.3.30 went entierly
smooth for me...

--Marcin
--------------A00B38D8E1FAABC7F0A1E5F0
Content-Type: application/x-gzip;
name="diff-4.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="diff-4.gz"

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
sgaouH6qHw88fd4miESk5V9y5f8PmePP/aUvAQA=
--------------A00B38D8E1FAABC7F0A1E5F0--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/