Date: Sat, 12 May 2007 20:43:16 +0400 (MSD) From: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> To: Stefan Farfeleder <stefan@fafoe.narf.at> Cc: freebsd-current@freebsd.org Subject: Re: geom_label problems when MS-DOS FS label is blank (all spaces) Message-ID: <20070512201809.F944@free.home.local> In-Reply-To: <20070512071231.GB944@lizard.fafoe.narf.at> References: <20070509125720.U911@free.home.local> <20070512104053.J943@free.home.local> <20070512071231.GB944@lizard.fafoe.narf.at>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 12 May 2007, Stefan Farfeleder wrote:
> On Sat, May 12, 2007 at 10:51:25AM +0400, Yuriy Tsibizov wrote:
>>> In this situation libdisk can't parse kern.geom.conftxt and sysinstall
>>> exits with BARF 171 message.
>>
>> It can be fixed with following patch. "all spaces" volume will be treated
>> like a volume without label.
>>
>> Index: g_label_msdosfs.c
>> ===================================================================
>> RCS file: /home/ncvs/src/sys/geom/label/g_label_msdosfs.c,v
>> retrieving revision 1.6
>> diff -u -r1.6 g_label_msdosfs.c
>> --- g_label_msdosfs.c 30 Sep 2006 08:16:49 -0000 1.6
>> +++ g_label_msdosfs.c 12 May 2007 06:39:23 -0000
>> @@ -200,7 +200,7 @@
>> }
>>
>> endofchecks:
>> - for (i = size - 1; i > 0; i--) {
>> + for (i = size - 1; i >= 0; i--) {
>> if (label[i] == '\0')
>> continue;
>> else if (label[i] == ' ')
>
> This won't work because i is unsigned.
Ok, I see that this patch is not correct.
Do you like this one?
Index: g_label_msdosfs.c
===================================================================
RCS file: /home/ncvs/src/sys/geom/label/g_label_msdosfs.c,v
retrieving revision 1.6
diff -u -r1.6 g_label_msdosfs.c
--- g_label_msdosfs.c 30 Sep 2006 08:16:49 -0000 1.6
+++ g_label_msdosfs.c 12 May 2007 13:37:06 -0000
@@ -208,6 +208,8 @@
else
break;
}
+ if (label[i] == ' ')
+ label[i] = '\0';
error:
if (sector0 != NULL)
(there is no need to check for i == 0, because label[i] is not equal
to ' ' if i > 0 after for() loop)
Yuriy.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070512201809.F944>
