On Nov 5, 2011, at 7:02 AM, rank1see...@gmail.com wrote: > 8.2R p4 both i386/amd64 > > > Supplied name of 16 chars > -- > # glabel label -v swap_679592d048a ada0s3b > Metadata value stored on ada0s3b. > Done. > -- > > Truncated to 15 chars > -- > # ll /dev/label > total 0 > crw-r----- 1 root operator - 0, 133 Nov 5 11:41:54 2011 swap_679592d048 > -- >
The maximum size for the field is 16 so that explains the behavior you're seeing. It's strlcpy'd in. Something like the following patch would work: --- src/sbin/geom/class/label/geom_label.c 2008/11/21 21:05:31 1.3 +++ src/sbin/geom/class/label/geom_label.c 2011/11/05 14:15:23 1.4 @@ -118,6 +118,12 @@ label_label(struct gctl_req *req) return; } + label = gctl_get_ascii(req, "arg0"); + if (strlen(label) > 15) { + gctl_error(req, "Label cannot exceed 15 characters"); + return; + } + /* * Clear last sector first to spoil all components if device exists. */ @@ -131,7 +137,6 @@ label_label(struct gctl_req *req) strlcpy(md.md_magic, G_LABEL_MAGIC, sizeof(md.md_magic)); md.md_version = G_LABEL_VERSION; - label = gctl_get_ascii(req, "arg0"); strlcpy(md.md_label, label, sizeof(md.md_label)); md.md_provsize = g_get_mediasize(name); if (md.md_provsize == 0) { Lucas Holt l...@foolishgames.com ________________________________________________________ MidnightBSD.org (Free OS) JustJournal.com (Free blogging) _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"