--- linux/fs/reiserfs/objectid.c.orig   Tue Jan  8 16:04:06 2002
+++ linux/fs/reiserfs/objectid.c        Tue Jan  8 17:45:15 2002
@@ -5,6 +5,7 @@
#include <linux/config.h>
#include <linux/string.h>
#include <linux/locks.h>
+#include <linux/random.h>
#include <linux/sched.h>
#include <linux/reiserfs_fs.h>

@@ -195,6 +196,10 @@

    /* set the max size so we don't overflow later */
    disk_sb->s_oid_maxsize = cpu_to_le16(new_size) ;
+
+    /* Zero out label and generate random UUID */
+    memset(disk_sb->s_label, 0, sizeof(disk_sb->s_label)) ;
+    generate_random_uuid(disk_sb->s_uuid);

    /* finally, zero out the unused chunk of the new super */
    memset(disk_sb->s_unused, 0, sizeof(disk_sb->s_unused)) ;
--- linux/include/linux/reiserfs_fs_sb.h.orig   Tue Jan  8 16:05:59 2002
+++ linux/include/linux/reiserfs_fs_sb.h        Tue Jan  8 17:34:22 2002
@@ -61,7 +61,13 @@
                                   superblock. -Hans */
  __u16 s_reserved;
  __u32 s_inode_generation;
-  char s_unused[124] ;                 /* zero filled by mkreiserfs */
+  __u32 s_flags;                      /* Right now used only by inode-attributes, if enabled */
+  unsigned char s_uuid[16];            /* filesystem unique identifier */
+  unsigned char s_label[16];           /* filesystem volume label */
+  char s_unused[88] ;                  /* zero filled by mkreiserfs and
+                                        * reiserfs_convert_objectid_map_v1()
+                                        * so any additions must be updated
+                                        * there as well. */
} __attribute__ ((__packed__));

#define SB_SIZE (sizeof(struct reiserfs_super_block))