DragonFly BSD
DragonFly bugs List (threaded) for 2005-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: vinum "Invalid argument"


From: Jake Maciejewski <maciejej@xxxxxxxx>
Date: Wed, 17 Aug 2005 17:39:49 -0500

On Tue, 2005-08-16 at 00:10 -0500, Jake Maciejewski wrote:
> It's vinum_create() in commands.c throwing up those errors. It looks
> like it's actually failing to parse my config file. I tried to track
> down the problem, and either I'm missing something in the code, or it
> fails as follows:
> 
> char buffer[BUFSIZE];				    /* read config file in here */
> 
> next mention of "buffer" it's being cast to a struct _ioctl_reply
> pointer
> 
> reply = (struct _ioctl_reply *) &buffer;
> 
> next mention of "reply" is error checking from the struct
> 
> if (reply->error != 0) {			    /* error in config */
>  if (!vflag)					    /* print this line anyway */
>   printf("%4d: %s", file_line, commandline);
>  fprintf(stdout, "** %d %s: %s\n",
>   file_line,
>   reply->msg,
>   strerror(reply->error));
> 
> The fprintf line is my suspicious error. Assuming the code only worked
> because of compiler behaviors, I compiled vinum with gcc2. The gcc2
> version loaded the second drive from my config, but not the first.

I got the same result with FreeBSD 4.11, one drive working but not the
other. After redoing the disklabel, I got the other drive to load as
well.

Clearly vinum is broken when compiled with gcc3. FreeBSD avoided this
problem because when they switched to gcc3, they also had to rework
vinum to interface through geom.

> Someone please comment. This machine is used for backups, so right now I
> have ~130Gb of data that exists only on a single ATA drive using the
> experimental reiser4 Linux filesystem.

-- 
Jake Maciejewski <maciejej@xxxxxxxx>




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]