On Fri, 10 Oct 2008, Steven Whitehouse wrote:

Gitweb:        
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=85049a0824daa9abaa38f5dca377767907b53b39
Commit:        85049a0824daa9abaa38f5dca377767907b53b39
Parent:        d763f902abf33655e635fc3b8b1919fd31d4f66c
Author:        Steven Whitehouse <[EMAIL PROTECTED]>
AuthorDate:    Fri Oct 10 16:04:29 2008 +0100
Committer:     Steven Whitehouse <[EMAIL PROTECTED]>
CommitterDate: Fri Oct 10 16:12:12 2008 +0100

libgfs2: Add support for UUID generation to gfs2_mkfs

nice...

Uses /dev/urandom to create 16 byte UUIDs for GFS2 filesystems
at mkfs time. Backwards and forwards compatible with all
GFS2 filesystems.

You'll need a set of kernel headers with
the new field defined in order for this feature to be
enabled. Bugzilla #242690

What kernel version is required to have UUID support? is it in .27 or will be in .28?

diff --git a/gfs2/libgfs2/structures.c b/gfs2/libgfs2/structures.c
index eb4c7bd..002edb6 100644
--- a/gfs2/libgfs2/structures.c
+++ b/gfs2/libgfs2/structures.c
@@ -58,7 +58,17 @@ build_sb(struct gfs2_sbd *sdp)
        sb.sb_root_dir = sdp->md.rooti->i_di.di_num;
        strcpy(sb.sb_lockproto, sdp->lockproto);
        strcpy(sb.sb_locktable, sdp->locktable);
-
+#ifdef GFS2_HAS_UUID
+       {
+               int fd = open("/dev/urandom", O_RDONLY);
+               int n;
+               if (fd >= 0)
+                       n = read(fd, &sb.sb_uuid, 16);
+               if (fd < 0 || n != 16)
+                       memset(&sb.sb_uuid, 0, 16);
+               close(fd);
+       }
+#endif

NACK.

Please use libuuid for this operation.

Thanks
Fabio

--
I'm going to make him an offer he can't refuse.

Reply via email to