Possible bug in sbin/bsdlabel.c in -CURRENT

cbh-freebsd-current at groups.chrishedley.com cbh-freebsd-current at groups.chrishedley.com
Mon Sep 20 04:44:10 PDT 2004

Evening, chaps.

I don't think anyone's brought this one up yet, and it's a little 
obscure... but for those of us who have MAXPARTITIONS set to a nonstandard 
value (16 in my case, I need some extra as I'm using a largeish RAID array 
that I'd like to chop into managable pieces), it seems that bsdlabel 
randomly hiccups with a warning about the label length being wrong 
("disklabel: Wrong length label argument" after attempting to edit the 
label, even without making any changes).  This only happens on certain 
discs for reasons beyond my ken, but it seems that the culprit is circa 
line 410 in sbin/bsdlabel/bsdlabel.c which currently says

 	gctl_ro_param(grq, "label", 148+16*8);

but which I'm guessing should say

 	gctl_ro_param(grq, "label", 148+16*MAXPARTITIONS);

The modification seems to work on my -CURRENT box without causing any 
obvious harm, so I thought I'd mention it here to see what people think.



PS Just to clarify, the discs which the unmodified disklabel worked on are 
<40GB SCSI units attached to AIC 789x channels, and the one which it 
didn't work on is a 450GB RAID-10 aac (2410SA) array.

More information about the freebsd-current mailing list