Re: [PATCH v3] xfsprogs: blkid is now mandatory

Eric Sandeen
2015-08-04T16:24:39Z

On 8/4/15 8:30 AM, Jan Tulak wrote:
>
>
> ----- Original Message -----
>> From: "Eric Sandeen" <sandeen@redhat.com>
>> To: "Jan Tulak" <jtulak@redhat.com>, "Christoph Hellwig" <hch@infradead.org>
>> Cc: xfs@oss.sgi.com
>> Sent: Monday, August 3, 2015 7:20:05 PM
>> Subject: Re: [PATCH v3] xfsprogs: blkid is now mandatory
>>
>> On 8/3/15 3:40 AM, Jan Tulak wrote:
>>>
>>>
>>> ----- Original Message -----
>>>> From: "Christoph Hellwig" <hch@infradead.org>
>>>>
>>>> On Tue, Jul 21, 2015 at 08:39:36AM -0400, Jan Tulak wrote:
>>>>> I just found that while it is possible to get blkid on OS X, it is
>>>>> in 1.0.0 version which doesn't have blkid_probe_get function.
>>>>> I'm examining whether it is possible to get an updated version there,
>>>>> but right now, this patch breaks OS X support. Unfortunately I didn't
>>>>> noticed of this before, as the OS X port was terribly out of date.
>>>>>
>>>>> So this patch shouldn't be included until I find how to get around.
>>>>
>>>> I don't think this is a lbocker given that OSX support doesn't
>>>> even work.
>>>>
>>>> To the contrary I'd really prefer to go in ASAP to avoid anyone
>>>> relying on it longer than nessecary.
>>>
>>> I tried to get newer blkid on OSX, but so far without a big success
>>> (well, it looks like a kind of a small dependency hell that would
>>> have to be ported, with bigger or smaller effort...). With regards
>>> on the priorities, I think if we can make the OS X support in
>>> "manual patching required" way, then?
>>>
>>> So lets include this patch, and just note it OS X doc "you have to revert
>>> commit XXX and re-apply any changes to the relevant code"?
>>
>> IIRC block device signature detection isn't really required, it's just
>> a nice-to-have; perhaps if blkid isn't present, that functionality can
>> simply be disabled?
>
> Signature detection (if I understand you correctly 'signature of existing
> FS') could be really disabled, I think. That would take care of
> check_overwrite(). However, blkid is also used in get_topology. That one
> calls blkid_get_topology, which uses blkid's functions for finding out
> sector and io sizes.

Well, it would be sane to default to 512 sectors; if that fails it'll
be obvious fairly quickly, and the user can always use the command line
to specify 4k sectors (or stripe alignment, etc) manually.

> What I really can do is to say "on osx, you can mkfs only files," and cut

bleah! ;)

> out the blkid parts. But it limits the usage on OS X even further.
> Although, the removed code for non-blkid systems used platform_findsizes
> as fallback. Are there some ugly, terrible monsters who would jump from
> under the bed when doing that?

Well, the old findsizes was there for this reason, but now it's gone ;)

> However, this patch affects only mkfs. It still should be possible to use
> xfs_db and xfs_repair even on block devices.

I don't know how invasive it'd be, but I think in the absence of blkid,
we should still work, but lose signature detection, and fall back to geometry
defaults.

-Eric