From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWu4S-0003pQ-Eb for qemu-devel@nongnu.org; Tue, 01 Sep 2015 18:30:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZWu4R-00037D-C4 for qemu-devel@nongnu.org; Tue, 01 Sep 2015 18:30:28 -0400 From: Jeff Cody Date: Tue, 1 Sep 2015 18:30:14 -0400 Message-Id: Subject: [Qemu-devel] [PATCH v2 0/2] Auto-generated IDs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, qemu-block@nongnu.org, jsnow@redhat.com, armbru@redhat.com, programmingkidx@gmail.com Changes from RFC v1: Patch 1: Several typos / grammatical errors (thanks Eric, John) Make id_subsys_str[] const pointer to const strings (thanks Eric) Moved id_subsys_str[] out from id_generate() (thanks John) Assert on null string for given id (thanks Eric) Zero-pad the 2-digit random # (thanks John) Patch 2: None Born from the conversation on qemu-devel, this generation scheme uses the format ultimately proposed by Kevin, after list discussion. It attempts to keep the ID strings as small as possible, while fulfilling: 1.) Guarantee no collisions with a user-specified ID 2.) Identify the sub-system the ID belongs to 3.) Guarantee of uniqueness 4.) Spoiling predictibility, to avoid creating an assumption of object ordering and parsing (i.e., we don't want users to think they can guess the next ID based on prior behavior). See patch 1 for the generation scheme details. Jeff Cody (2): util - add automated ID generation utility block: auto-generated node-names block.c | 25 ++++++++++++++++--------- include/qemu-common.h | 8 ++++++++ util/id.c | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 9 deletions(-) -- 1.9.3