All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Deller <deller@gmx.de>
To: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Time-based RFC 4122 UUID generator
Date: Sun, 18 Nov 2007 22:43:20 +0100	[thread overview]
Message-ID: <fhqbkn$ttt$1@ger.gmane.org> (raw)
In-Reply-To: 20071118213427.GB5696@uranus.ravnborg.org

Sam Ravnborg wrote:

> On Sun, Nov 18, 2007 at 01:05:03PM -0800, Andrew Morton wrote:
>> On Sun, 18 Nov 2007 20:38:21 +0100 Helge Deller <deller@gmx.de> wrote:
>> 
>> > Title: Add time-based RFC 4122 UUID generator
>> > 
>> > The current Linux kernel currently contains the generate_random_uuid()
>> > function, which creates - based on RFC 4122 - truly random UUIDs and
>> > provides them to userspace through /proc/sys/kernel/random/boot_id and
>> > /proc/sys/kernel/random/uuid.
>> > 
>> > This patch additionally adds the "Time-based UUID" variant of RFC 4122,
>> > with which userspace applications can easily get real unique time-based
>> > UUIDs through /proc/sys/kernel/random/uuid_time.
>> > A new /proc/sys/kernel/random/uuid_time_clockseq sysfs entry is
>> > available, so that the clock_seq value can be retained across system
>> > bootups (which is required by RFC 4122).
>> > 
>> > The attached implementation uses getnstimeofday() to get very
>> > fine-grained granularity. This helps, so that userspace tools can get a
>> > lot more UUIDs (if needed) per time than before.
>> > A mutex takes care of the proper locking against a mistaken double
>> > creation of UUIDs for simultanious running processes.
>> 
>> Who will use this feature, and for what?
>> 
>> (In fact, who uses the existing UUID generators, and for what?)
> 
> I use libuuid and I assume libuuid uses some uuid generator support
> from the kernel. 

No, it does not. It's pure userspace and may produce double UUIDs.

> libuuid comes from a package that Ted's maintain IIRC. 
> 
> I (my company) use uuid to uniquely identify objects in a distributed
> database.
> [Proprietary closed source stuff].

Same here.

Helge


  reply	other threads:[~2007-11-18 21:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-18 19:38 [PATCH] Time-based RFC 4122 UUID generator Helge Deller
2007-11-18 21:05 ` Andrew Morton
2007-11-18 21:34   ` Sam Ravnborg
2007-11-18 21:43     ` Helge Deller [this message]
2007-11-19 21:56       ` David Schwartz
2007-11-19 22:58         ` Alan Cox
2007-11-20  6:44         ` H. Peter Anvin
2007-11-20 22:58         ` Helge Deller
2007-11-21  0:20           ` Alan Cox
2007-11-18 21:40   ` Helge Deller
2007-11-20  6:31     ` Matt Mackall
2007-11-20 21:59       ` Helge Deller
2007-11-20 22:55         ` Matt Mackall
2007-11-20 23:11           ` Helge Deller
2007-11-20 23:34             ` Matt Mackall
2007-11-20 23:00         ` Theodore Tso
2007-11-20 23:30           ` Helge Deller
2007-12-10  5:36           ` [e2fsprogs PATCH] Userspace solution to time-based UUID without duplicates Theodore Tso
2007-12-16 21:53             ` Helge Deller
2007-12-17  0:07               ` Theodore Tso
2007-11-20  6:15 ` [PATCH] Time-based RFC 4122 UUID generator Andrew Morton
2007-11-20 22:40   ` Helge Deller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='fhqbkn$ttt$1@ger.gmane.org' \
    --to=deller@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.