RE: Ataraid-list Digest, Vol 42, Issue 15

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

 



Hi Matthias,

The segmentation fault resulted from a raid device to be deleted twice
by the function "free_raid_set" when the raid set name doesn't match. A
raid device object was shared by two raid set objects in DDF1. So that
read device object was deleted in a t-group raid set and its subset.

For example, the t-group raid set .ddf1 refers to a raid device object
RDO1 and the subset ddf1000 of .ddf1 also links RDO1 in its "devs" list.
Therefore, when ddf1000 is erased the corresponding raid device objects
should be deleted first. That means RDO1 is reset. But when .ddf1 object
is sent to the free_raid_set, its device object, RDO1, needs to be
deleted too. It's gone and the linked list in devs of .ddf1 isn't
updated.

Ying

>-----Original Message-----
>From: Matthias Koenig [mailto:mkoenig@xxxxxxx]
>Sent: Thursday, August 23, 2007 3:27 AM
>To: ATARAID (eg, Promise Fasttrak, Highpoint 370) related discussions
>Cc: Fang, Ying; Hall, Eric R
>Subject: Re: Ataraid-list Digest, Vol 42, Issue 15
>
>"Fang, Ying" <ying.fang@xxxxxxxxx> writes:
>
>> Currently, dmraid only reads metadata on disks and cannot choose
format
>> handlers.
>
>Yes, I know, dmraid just reads the on-disk metadata.
>What I have been talking about is the RAID configuration process in the
>BIOS on the S5000VSA board. As I was told by Eric this should be ISW
and
>not DDF1, I guess it is not possible to let the configurator on
S5000VSA
>board create DDF1 format? So, I am wondering why this RAID is detected
>as DDF1, if it should be ISW. But this will have to answered by the
>reporter (I do not have this hardware so I cannot do tests personally).
>
>> I guess that you have a metadata in ddf format. Could you send
>> me the dumps of "dmraid -n" and "dmraid -s -ccc"?
>
>Currently I have the output of dmraid -s -ccc available:
>
>DEBUG: _find_set: searching .ddf1_disks
>DEBUG: _find_set: not found .ddf1_disks
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: not found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: not found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching .ddf1_disks
>DEBUG: _find_set: found .ddf1_disks
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching .ddf1_disks
>DEBUG: _find_set: found .ddf1_disks
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching .ddf1_disks
>DEBUG: _find_set: found .ddf1_disks
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: searching
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: _find_set: found
>ddf1_4c534920202020201000005500000000330d9ac500000a28
>DEBUG: checking ddf1 device "/dev/sda"
>DEBUG: checking ddf1 device "/dev/sdc"
>DEBUG: checking ddf1 device "/dev/sdb"
>DEBUG: checking ddf1 device "/dev/sdd"
>DEBUG: set status of set
>"ddf1_4c534920202020201000005500000000330d9ac500000a28" to 16
>DEBUG: set status of set ".ddf1_disks" to 16
>ddf1_4c534920202020201000005500000000330d9ac500000a28:974608384:128:mir
ror:
>ok:0:4:0
>/dev/sda:ddf1:ddf1_4c534920202020201000005500000000330d9ac500000a28:mir
ror:
>ok:974608384:0
>/dev/sdc:ddf1:ddf1_4c534920202020201000005500000000330d9ac500000a28:mir
ror:
>ok:974608384:0
>/dev/sdb:ddf1:ddf1_4c534920202020201000005500000000330d9ac500000a28:mir
ror:
>ok:974608384:0
>/dev/sdd:ddf1:ddf1_4c534920202020201000005500000000330d9ac500000a28:mir
ror:
>ok:974608384:0
>DEBUG: freeing devices of RAID set
>"ddf1_4c534920202020201000005500000000330d9ac500000a28"
>DEBUG: freeing device
>"ddf1_4c534920202020201000005500000000330d9ac500000a28", path
"/dev/sda"
>DEBUG: freeing device
>"ddf1_4c534920202020201000005500000000330d9ac500000a28", path
"/dev/sdc"
>DEBUG: freeing device
>"ddf1_4c534920202020201000005500000000330d9ac500000a28", path
"/dev/sdb"
>DEBUG: freeing device
>"ddf1_4c534920202020201000005500000000330d9ac500000a28", path
"/dev/sdd"
>DEBUG: freeing devices of RAID set ".ddf1_disks"
>DEBUG: freeing device ".ddf1_disks", path "/dev/sda"
>DEBUG: freeing device ".ddf1_disks", path "/dev/sdb"
>DEBUG: freeing device ".ddf1_disks", path "/dev/sdc"
>DEBUG: freeing device ".ddf1_disks", path "/dev/sdd"
>
>
>> I couldn't reproduce your test case without ddf1 metadata but the
same
>> options work fine on isw metadata with a little bit tweak-using the
>> t-group raid set name other than a real raid name. Also, you may see
the
>> name (p *rs) in you gdb when you set the compiler option to -O0 from
>> -O2(the default setting).
>
>I cannot do this as the problems on the reporters side appear already
at
>installation time. So what I have is a core file from the reporter and
>I have to analyze this with the same package and debuginfo versions
>as on the installation medium.
>Currently I got:
>1. core file
>2. Output from
>   dmraid -r -vvv -d
>   dmraid -s -ccc -d
>3. strace from the failing command
>   dmraid -s -ccc -d
ddf1_4c534920202020201000005500000000330adc0c00000a28
>4. dumps of the metadata with dmraid -rD
>
>I can provide these on request if interested (directly).
>
>Thanks,
>Matthias

_______________________________________________
Ataraid-list mailing list
Ataraid-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/ataraid-list

[Index of Archives]     [Linux RAID]     [Linux Device Mapper]     [Linux IDE]     [Linux SCSI]     [Kernel]     [Linux Books]     [Linux Admin]     [GFS]     [RPM]     [Yosemite Campgrounds]     [AMD 64]

  Powered by Linux