Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Nov 2008 14:55:17 -0800
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Andriy Gapon <avg@icyb.net.ua>
Cc:        freebsd-fs@freebsd.org, freebsd-geom@freebsd.org
Subject:   Re: zfs: affected by geom_(mbr|bsd) => geom_part_(mbr|bsd) ?
Message-ID:  <E4D72B45-15F9-499E-86BA-1C777E7932F2@mac.com>
In-Reply-To: <492DBE1F.2040501@icyb.net.ua>
References:  <4911C3E9.405@icyb.net.ua> <49198A1A.3080600@icyb.net.ua> <B6997A5A-1B56-4325-A24A-EF90AF8C6A6A@mac.com> <49227875.6090902@icyb.net.ua> <93FC5F5D-91CD-450B-B08D-5C5EC5A1C880@mac.com> <4922FB81.50608@icyb.net.ua> <022C4222-63B2-4535-8B7E-0426E9CE2BEA@mac.com> <492DBE1F.2040501@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

On Nov 26, 2008, at 1:22 PM, Andriy Gapon wrote:

> on 18/11/2008 21:49 Marcel Moolenaar said the following:
>> On Nov 18, 2008, at 9:29 AM, Andriy Gapon wrote:
>>> I just remembered that I saved old zpool.cache file before  
>>> "migrating"
>>> the pool.
>>> I looked at the diff of hexdumps and there are a number of  
>>> differences,
>>> it's hard to understand them because the file is binary (actually it
>>> seems to contain serialized name-value pairs), but one difference is
>>> prominent:
>>> ...
>>> 00000260  64 65 76 69 64 00 00 00  00 00 00 09 00 00 00 01
>>> |devid...........|
>>> ...
>>> -00000270  00 00 00 15 61 64 3a 47  45 41 35 33 34 52 46 30
>>> |....ad:GEA534RF0|
>>> -00000280  54 4b 33 35 41 73 31 73  33 00 00 00 00 00 00 28
>>> |TK35As1s3......(|
>>> ...
>>> +00000270  00 00 00 11 61 64 3a 47  45 41 35 33 34 52 46 30
>>> |....ad:GEA534RF0|
>>> +00000280  54 4b 33 35 41 00 00 00  00 00 00 28 00 00 00 28
>>> |TK35A......(...(|
>>> ...
>>>
>>> It looks like old "devid" value is "ad:GEA534RF0TK35As1s3" and new  
>>> one
>>> is "ad:GEA534RF0TK35A". Just a reminder: actual zpool device is  
>>> ad6s2d.
>>>
>>> The new value is what is reported by diskinfo:
>>> $ diskinfo -v ad6
>>> ad6
>>> ...
>>>       ad:GEA534RF0TK35A       # Disk ident.
>>>
>>> $ diskinfo -v ad6s2
>>> ad6s2
>>> ...
>>>       ad:GEA534RF0TK35A       # Disk ident.
>>>
>>> $ diskinfo -v ad6s2d
>>> ad6s2d
>>> ...
>>>       ad:GEA534RF0TK35A       # Disk ident.
>>>
>>> Hmm, "indent" is reported to be the same for all three entities.
>>>
>>> I don't remember what diskinfo reported with pre-gpart kernel, but I
>>> suspect that it was something different.
>>> Could anybody please check this? (on 7.X machine without GEOM_PART).
>>>
>>> I quickly glimpsed through sources and it seems that this comes from
>>> DIOCGIDENT GEOM ioctl i.e. "GEOM::ident" attribute. It seems that
>>> geom_slice.c code has some special handling for that.
>> Interesting. Can you try the attached patch to GPart:
>
> Marcel,
>
> unfortunately the patch caused a panic.
> Unfortunately, again, I wasn't able to catch a proper dump, but I  
> remembered that the panic was in g_part_done+0x16.

I see :-/

> In general, I am not sure if anything is really needed in this  
> direction.
> First, I think that pjd has recently committed changes to trunk ZFS,  
> so that it doesn't need device ids anymore and uses some metadata in  
> the devices.
> Second, there is a migration path that I used - export/import of a  
> pool.
>
> So unless this detail of backward compatibility is really needed  
> somewhere else...

pjd told me that and since it was added for ZFS, I think I'll
just drop it. Patching GEOM:ident this way is kinda ugly...

Thanks for testing!

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E4D72B45-15F9-499E-86BA-1C777E7932F2>