tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: full-disc partition (was: RAID on raw partitions)
>> This is `raw' in that it bypasses partitioning allowing access to
>> the whole disk regardless of partitioning.
> It looks that I remember incorrectly what ws@ taught me back in the
> days how the ``full disc'' partition works.
> What I remember is that (let's assume sparc) partition ``c'' was
> actually present in the disklabel and it was just by convention that
> one would allocate that 0-$. The only magic I thought there was is
> that in case the kernel can't find a disklabel, it would invent one
> having a single ``c'' partition spanning the whole disc.
Perhaps that's how it was back in the day. But now, looking at, for
example, sd.c, I see code that actually does bypass partitioning when
using RAW_PART. For example,
if (SDPART(bp->b_dev) == RAW_PART) {
if (bounds_check_with_mediasize(bp, DEV_BSIZE,
sd->params.disksize512) <= 0)
goto done;
} else {
if (bounds_check_with_label(&sd->sc_dk, bp,
(sd->flags & (SDF_WLABEL|SDF_LABELLING)) != 0) <=
0)
goto done;
}
(Using RAW_PART also affects various other things; for example, using
RAW_PART prevents the driver from loading the disklabel off the drive
the way it does for other partitions.)
> But then, due to the 32-bit-limitation of the disklabel structure, it
> couldn't make a ``c'' partition spanning 3TB.
> Is my memory wrong? Has that been changed?
Depends on the version and the disk driver in question. The above
quote is from sd.c,v 1.258.2.1, the one that shipped with 4.0.1.
Of course, for the full truth, you should check the source to the
version you're using. Since this is done in the disk drivers, it will
also depend on what driver you're using (sd? wd? ld? etc).
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index