Re: [[Patch mdadm] 1/5] Make the IMSM_DEVNAME_AS_SERIAL option work when creating containers. This allows a person to testing using loopback devices that don't support serial number queries.

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

 



On Mon, Jan 18, 2010 at 6:55 PM, Doug Ledford <dledford@xxxxxxxxxx> wrote:
> On 01/18/2010 05:13 PM, Dan Williams wrote:
>> Hi Doug,
>>
>> On Mon, Jan 11, 2010 at 1:38 PM, Doug Ledford <dledford@xxxxxxxxxx> wrote:
>>> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
>>> ---
>>>  super-intel.c |    5 ++++-
>>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/super-intel.c b/super-intel.c
>>> index d6951cc..fcf438c 100644
>>> --- a/super-intel.c
>>> +++ b/super-intel.c
>>> @@ -3208,7 +3208,10 @@ static int add_to_super_imsm(struct supertype *st, mdu_disk_info_t *dk,
>>>        dd->fd = fd;
>>>        dd->e = NULL;
>>>        rv = imsm_read_serial(fd, devname, dd->serial);
>>> -       if (rv) {
>>> +       if (rv && check_env("IMSM_DEVNAME_AS_SERIAL")) {
>>> +               memset(dd->serial, 0, MAX_RAID_SERIAL_LEN);
>>> +               fd2devname(fd, (char *) dd->serial);
>>> +       } else if (rv) {
>>
>> This just duplicates the check already inside imsm_read_serial().
>> Containers on loopback devices worked before this patch, so I'll send
>> a revert.
>>
>> --
>> Dan
>
> Me thinks you didn't try it, because this does not duplicate the code in
> imsm_read_serial().  That code is needed to assemble an IMSM array that
> already exists on loopback devices.  This is needed to *create* an imsm
> container on fresh loopback devices.  I'm assuming your imsm container
> superblocks already existed or some such.
>

Me thinks you did not try it either :-)

# export IMSM_DEVNAME_AS_SERIAL=1
# mdadm --zero-superblock /dev/loop[0-3]
# mdadm -Eb /dev/loop[0-4]
# mdadm -E /dev/loop0
mdadm: No md superblock detected on /dev/loop0.
# mdadm --create /dev/md/imsm /dev/loop[0-3] -n 4 -e imsm
mdadm: /dev/loop0 appears to contain an ext2fs file system
    size=306816K  mtime=Sat Nov 21 10:54:51 2009
mdadm: /dev/loop1 appears to contain an ext2fs file system
    size=306816K  mtime=Sat Nov 21 10:54:51 2009
mdadm: imsm unable to enumerate platform support
    array may not be compatible with hardware/firmware
Continue creating array? y
mdadm: container /dev/md/imsm prepared.
# mdadm -Eb /dev/loop[0-3]
ARRAY metadata=imsm
   spares=4

# mdadm -E /dev/loop0
/dev/loop0:
          Magic : Intel Raid ISM Cfg Sig.
        Version : 1.0.00
    Orig Family : 00000000
         Family : 697a43ec
     Generation : 00000001
           UUID : ffffffff:ffffffff:ffffffff:ffffffff
       Checksum : c3d8d367 correct
    MPB Sectors : 1
          Disks : 1
   RAID Devices : 0

  Disk00 Serial : /dev/loop0
          State : spare
             Id : 00000000
    Usable Size : 204382 (99.81 MiB 104.64 MB)

This is with:
commit 6acad4811b06335a2602fa1eeaec3a8f47f96591
Author: Michael Evan <mjevans1983@xxxxxxxxx>
Date:   Wed Dec 9 21:52:18 2009 -0800

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
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