Re: raidhotadd problems.

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

 



Yes - I had typed in the incorrect device.
(actually it did not exist).
Correcting this, everything works.

But, to me that seems like an bug in raidtools, so I went and took a 
look at the code. As far as I can see, the current code does indeed have 
a problem. If the device does not exist, structure 's' is not updated, 
and still contains the old information about which raid-array to which 
the device should be added. This results in trying to add the raidarray 
to the same raidarray. Fortunatly, the raid array is slightly smaller 
that the devices its made of, and therefore the kernel refuses. (This 
also counts as an bug, IMHO - it should not even try).

Below is a patch that fixes the undesired behaviour, and retuns a more 
human readable message. There may be other simmiliar bugs - I havent 
looked yet.

--- raidlib.c~  Tue Aug 28 17:27:17 2001
+++ raidlib.c   Thu Feb  7 00:17:50 2002
@@ -261,7 +261,10 @@
          exit(EXIT_FAILURE);
      }

-    stat (disk_name, &s);
+    if (stat (disk_name, &s)) {
+        fprintf(stderr,"%s: cannot stat!\n",disk_name);
+        exit(EXIT_FAILURE);
+    }

      rc = ioctl (md_fd, HOT_ADD_DISK, (unsigned long)s.st_rdev);
      if (rc) {


Btw. A rewrite of the main function in raidstart.c should be on the 
wishlist. Its quite ugly, but beautifully obfuscated :-)

Regards
Anders Fugmann




Danilo Godec wrote:

> On Tue, 5 Feb 2002, Anders Peter Fugmann wrote:
> 
> 
>>I have tried to run 'raidhotadd' but is complains:
>>
>>root@gw:~# raidhotadd /dev/md/4 /dev/ide/host0/bus0/target1/lun0/part5
>>
>                                                  ^^^^^^^^^^^^
> Here you're trying to use 'bus0/target1'.
> 
> 
>>   ide/host0/bus0/target0/lun0/disc
>>   lr-xr-xr-x    1 root     root           32 Feb  5 16:23 /dev/hdc ->
>>   ide/host0/bus1/target0/lun0/disc
>>
> 
> Here, you have 'bus1/target0' (seems OK for /dev/hdc).
> 
> I guess this is your problem - unless the above is a typo...
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux