Author: nwhitehorn
Date: Sun Oct  9 16:22:31 2011
New Revision: 226169
URL: http://svn.freebsd.org/changeset/base/226169

Log:
  Add support to makefs(8) to add UFS labels to images.
  
  Submitted by: avg
  MFC after:    3 days

Modified:
  head/usr.sbin/makefs/ffs.c
  head/usr.sbin/makefs/ffs.h
  head/usr.sbin/makefs/ffs/mkfs.c
  head/usr.sbin/makefs/makefs.8

Modified: head/usr.sbin/makefs/ffs.c
==============================================================================
--- head/usr.sbin/makefs/ffs.c  Sun Oct  9 14:12:17 2011        (r226168)
+++ head/usr.sbin/makefs/ffs.c  Sun Oct  9 16:22:31 2011        (r226169)
@@ -236,6 +236,9 @@ ffs_parse_opts(const char *option, fsinf
                        goto leave_ffs_parse_opts;
                }
                rv = 1;
+       } else if (strcmp(var, "label") == 0) {
+               strlcpy(ffs_opts->label, val, sizeof(ffs_opts->label));
+               rv = 1;
        } else
                rv = set_option(ffs_options, var, val);
 

Modified: head/usr.sbin/makefs/ffs.h
==============================================================================
--- head/usr.sbin/makefs/ffs.h  Sun Oct  9 14:12:17 2011        (r226168)
+++ head/usr.sbin/makefs/ffs.h  Sun Oct  9 16:22:31 2011        (r226169)
@@ -40,7 +40,11 @@
 #ifndef _FFS_H
 #define _FFS_H
 
+#include <ufs/ufs/dinode.h>
+#include <ufs/ffs/fs.h>
+
 typedef struct {
+       char    label[MAXVOLLEN];       /* volume name/label */
        int     bsize;          /* block size */
        int     fsize;          /* fragment size */
        int     cpg;            /* cylinders per group */

Modified: head/usr.sbin/makefs/ffs/mkfs.c
==============================================================================
--- head/usr.sbin/makefs/ffs/mkfs.c     Sun Oct  9 14:12:17 2011        
(r226168)
+++ head/usr.sbin/makefs/ffs/mkfs.c     Sun Oct  9 16:22:31 2011        
(r226169)
@@ -139,7 +139,9 @@ ffs_mkfs(const char *fsys, const fsinfo_
        avgfpdir =      ffs_opts->avgfpdir;
        bbsize =        BBSIZE;
        sbsize =        SBLOCKSIZE;
-       
+
+       strlcpy(sblock.fs_volname, ffs_opts->label, sizeof(sblock.fs_volname));
+
        if (Oflag == 0) {
                sblock.fs_old_inodefmt = FS_42INODEFMT;
                sblock.fs_maxsymlinklen = 0;

Modified: head/usr.sbin/makefs/makefs.8
==============================================================================
--- head/usr.sbin/makefs/makefs.8       Sun Oct  9 14:12:17 2011        
(r226168)
+++ head/usr.sbin/makefs/makefs.8       Sun Oct  9 16:22:31 2011        
(r226169)
@@ -242,6 +242,8 @@ Block size.
 Bytes per inode.
 .It Sy fsize
 Fragment size.
+.It Sy label
+Label name of the image.
 .It Sy maxbpg
 Maximum blocks per file in a cylinder group.
 .It Sy minfree
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to