Date: Mon, 14 May 2007 03:53:20 +0300 From: Nikolay Pavlov <quetzal@zone3000.net> To: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> Cc: Stefan Farfeleder <stefan@fafoe.narf.at>, freebsd-current@freebsd.org Subject: Re: geom_label problems when MS-DOS FS label is blank (all spaces) Message-ID: <20070514005320.GA21922@zone3000.net> In-Reply-To: <20070512201809.F944@free.home.local> References: <20070509125720.U911@free.home.local> <20070512104053.J943@free.home.local> <20070512071231.GB944@lizard.fafoe.narf.at> <20070512201809.F944@free.home.local>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, 12 May 2007 at 20:43:16 +0400, Yuriy Tsibizov wrote: > 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. What about this one bug: Probing devices, please wait (this can take a while)...BARF 170 <105> I am unable to use sysinstall due to it. > >> > >> 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. > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" -- ====================================================================== - Best regards, Nikolay Pavlov. <<<----------------------------------- ======================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070514005320.GA21922>