commit 75a68102d55a1c361725ed01864c98fee6f77199 Author: Andrew Price Date: Thu Feb 6 13:16:18 2014 +0000 gfs2-utils: Ensure sb_uuid uses are guarded Guard uses of sb_uuid with #ifdef GFS2_HAS_UUID Tweak print_results() in mkfs.gfs2 to accept the gfs2_sb which we conditionally print the uuid from, instead of the gfs2_sbd. Resolves: rhbz#1063842 Signed-off-by: Andrew Price diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c index 36f6600..0708445 100644 --- a/gfs2/edit/hexedit.c +++ b/gfs2/edit/hexedit.c @@ -104,10 +104,12 @@ static int gfs2_sb_printval(struct gfs2_sb *lsb, const char *strfield) checkprints(strfield, lsb, sb_locktable); checkprint(strfield, lsb, __pad3.no_addr); checkprint(strfield, lsb, __pad4.no_addr); +#ifdef GFS2_HAS_UUID if (strcmp(strfield, "sb_uuid") == 0) { printf("%s\n", str_uuid(lsb->sb_uuid)); return 0; } +#endif return -1; } @@ -135,8 +137,9 @@ static int gfs2_sb_assigns(struct gfs2_sb *lsb, const char *strfield, { checkassigns(strfield, lsb, sb_lockproto, val); checkassigns(strfield, lsb, sb_locktable, val); +#ifdef GFS2_HAS_UUID checkassigns(strfield, lsb, sb_uuid, val); - +#endif return -1; } diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c index 8bd396a..32da585 100644 --- a/gfs2/mkfs/main_mkfs.c +++ b/gfs2/mkfs/main_mkfs.c @@ -555,24 +555,25 @@ static void opts_check(struct mkfs_opts *opts) } } -static void print_results(struct gfs2_sbd *sdp, uint64_t real_device_size, - struct mkfs_opts *opts, unsigned char uuid[16]) +static void print_results(struct gfs2_sb *sb, struct mkfs_dev *dev, struct mkfs_opts *opts, + uint64_t rgrps, uint64_t fssize) { printf("%-27s%s\n", _("Device:"), opts->device); - printf("%-27s%u\n", _("Block size:"), sdp->bsize); - printf("%-27s%.2f %s (%llu %s)\n", _("Device size:"), + printf("%-27s%u\n", _("Block size:"), sb->sb_bsize); + printf("%-27s%.2f %s (%"PRIu64" %s)\n", _("Device size:"), /* Translators: "GB" here means "gigabytes" */ - real_device_size / ((float)(1 << 30)), _("GB"), - (unsigned long long)real_device_size / sdp->bsize, _("blocks")); - printf("%-27s%.2f %s (%llu %s)\n", _("Filesystem size:"), - sdp->fssize / ((float)(1 << 30)) * sdp->bsize, _("GB"), - (unsigned long long)sdp->fssize, _("blocks")); - printf("%-27s%u\n", _("Journals:"), sdp->md.journals); - printf("%-27s%llu\n", _("Resource groups:"), (unsigned long long)sdp->rgrps); + (dev->size / ((float)(1 << 30))), _("GB"), + (dev->size / sb->sb_bsize), _("blocks")); + printf("%-27s%.2f %s (%"PRIu64" %s)\n", _("Filesystem size:"), + (fssize / ((float)(1 << 30)) * sb->sb_bsize), _("GB"), fssize, _("blocks")); + printf("%-27s%u\n", _("Journals:"), opts->journals); + printf("%-27s%"PRIu64"\n", _("Resource groups:"), rgrps); printf("%-27s\"%s\"\n", _("Locking protocol:"), opts->lockproto); printf("%-27s\"%s\"\n", _("Lock table:"), opts->locktable); +#ifdef GFS2_HAS_UUID /* Translators: "UUID" = universally unique identifier. */ - printf("%-27s%s\n", _("UUID:"), str_uuid(uuid)); + printf("%-27s%s\n", _("UUID:"), str_uuid(sb->sb_uuid)); +#endif } static void warn_of_destruction(const char *path) @@ -909,5 +910,5 @@ void main_mkfs(int argc, char *argv[]) } if (!opts.quiet) - print_results(&sbd, dev.size, &opts, sb.sb_uuid); + print_results(&sb, &dev, &opts, sbd.rgrps, sbd.fssize); } diff --git a/gfs2/tune/super.c b/gfs2/tune/super.c index cc34990..cbd0026 100644 --- a/gfs2/tune/super.c +++ b/gfs2/tune/super.c @@ -124,8 +124,9 @@ static int is_gfs2(const struct tunegfs2 *tfs) int print_super(const struct tunegfs2 *tfs) { printf(_("File system volume name: %s\n"), tfs->sb->sb_locktable); - if (is_gfs2(tfs)) - printf(_("File system UUID: %s\n"), uuid2str(tfs->sb->sb_uuid)); +#ifdef GFS2_HAS_UUID + printf(_("File system UUID: %s\n"), uuid2str(tfs->sb->sb_uuid)); +#endif printf( _("File system magic number: 0x%X\n"), be32_to_cpu(tfs->sb->sb_header.mh_magic)); printf(_("Block size: %d\n"), be32_to_cpu(tfs->sb->sb_bsize)); printf(_("Block shift: %d\n"), be32_to_cpu(tfs->sb->sb_bsize_shift));