xfs
[Top] [All Lists]

Re: [PATCH] mkfs.xfs: add [-U uuid] option

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] mkfs.xfs: add [-U uuid] option
From: Mika Eloranta <mika.eloranta@xxxxxxx>
Date: Tue, 22 Sep 2015 09:43:34 +0300
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=7xYzF3NKkA0Wnb8 baw/Agn/pPL8=; b=fX8Hv8KVF3qTipmboZHSmrwL0Dezpuwoj2rBFdUlre8j+c8 NK/gXBaGhUmw6J3CIsk0muvD/16tMPVwMJkFWUrB62XbxGiFivdC5Y9YCKeet/CL hO5V4NiHLOd38VI9b2M8Wu0dLNOAoUNdUqJiluBH0vQzkXDf4CALyz16m2GY=
In-reply-to: <20150921233627.GE19114@dastard>
References: <1442855060-38259-1-git-send-email-mel@xxxxxxx> <20150921221839.GC19114@dastard> <2640913C-6C95-4128-9055-B155AECA0206@xxxxxxx> <20150921233627.GE19114@dastard>
On 22 Sep 2015, at 02:36, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
> 
> On Tue, Sep 22, 2015 at 01:56:53AM +0300, Mika Eloranta wrote:
>> On 22 Sep 2015, at 01:18, Dave Chinner <david@xxxxxxxxxxxxx>
>> wrote:
>>> 
>>> On Mon, Sep 21, 2015 at 08:04:20PM +0300, Mika Eloranta wrote:
>>>> The UUID can now be optionally specified during filesystem
>>>> creation.
>>> 
>>> Which UUID are you wanting to set - the metadata uuid or the
>>> user visible UUID label? Or both? Can you explain the use case
>>> for this?  i.e. I'm trying to work out why Why doesn't mkfs.xfs
>>> + xfs_admin -U <uuid> doesn't work for you?
>> 
>> I want to set the user visible UUID (same as xfs_admin -U/-u).
>> Whether this impacts the "metadata uuidâ or not, I do not
>> know, Iâm not an expert on the XFS internals, just a user.
> 
> Which tells me what I need to know - You are trying to use the UUID
> as a user controlled filesystem label. Funnily enough, we have a
> thing for this already - a user controlled filesystem label:
> 
> # mkfs.xfs -L "label" ....
> 
> It's 12 characters long, so more than enough for any sort of unique
> identification scheme you want to use for your filesystems.
> xfs_admin enables you to change it after the fact, all major
> filesystems support it and all the infrastructure know about it
> (lsblk, /etc/fstab. /dev/disk/by-label, etc) so using it is no
> different to using UUIDs. Except that, unlike UUIDs, you can make
> fileystem labels human readable. :)
> 
> Perhaps you should try using filesystem labels seeing as everything
> you need is already there?

Labels are great for user-readable identifiers, but UUID is nowadays
pretty much the norm for random-generated identifiers. My use-case
concerns distributed and automated virtual systems, where filesystems
are constantly built and torn down.

Using the filesystem label to store a truncated version of a UUID is
kind of an option, but I'd really rather use the entire UUID because:

1) Identifying an orphan filesystem based on its contents becomes
   more straightforward, e.g. if they are already listed in a key-value
   store based on their full UUID and prefix lookups are not possible.

2) The label is actually rather short for storing a random ID. For
   example storing 48 bits from the UUID in the label hex-encoded
   would give me a collision already in 20 million fs instances with
   >50% probability.

I thought adding the option would be a rather straightforward thing,
especially when more problematic "xfs_admin -U" is (was?) already
supported. Is there technical reason why assigning the UUID is no longer
recommended? The patch only allows optionally using a user-specified
UUID instead of a one generated randomly on the spot within mkfs.xfs,
and I cannot see any harm in that.

Cheers,

    Mika

<Prev in Thread] Current Thread [Next in Thread>