From owner-p4-projects@FreeBSD.ORG Sat May 24 04:23:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE95C1065670; Sat, 24 May 2008 04:23:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 755B0106564A for ; Sat, 24 May 2008 04:23:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 58FA58FC1A for ; Sat, 24 May 2008 04:23:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m4O4NuC5093140 for ; Sat, 24 May 2008 04:23:56 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m4O4Nu1K093138 for perforce@freebsd.org; Sat, 24 May 2008 04:23:56 GMT (envelope-from jb@freebsd.org) Date: Sat, 24 May 2008 04:23:56 GMT Message-Id: <200805240423.m4O4Nu1K093138@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 142188 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 May 2008 04:23:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=142188 Change 142188 by jb@freebsd3 on 2008/05/24 04:23:27 IFC Affected files ... .. //depot/projects/dtrace/ports/UPDATING#75 integrate .. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#4 integrate .. //depot/projects/dtrace/src/sbin/dump/dump.8#6 integrate .. //depot/projects/dtrace/src/sbin/dump/dump.h#5 integrate .. //depot/projects/dtrace/src/sbin/dump/main.c#6 integrate .. //depot/projects/dtrace/src/sbin/dump/traverse.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#33 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#24 integrate Differences ... ==== //depot/projects/dtrace/ports/UPDATING#75 (text+ko) ==== @@ -6,6 +6,17 @@ time you update your ports collection, before attempting any port upgrades. +20080524: + AFFECTS: users of net-im/jabberd + AUTHOR: mm@FreeBSD.org + + Starting with version 2.2.0, resolver is now built in the S2S component. + Jabberd configuration files require updating. + + jabberd.cfg: resolver component must be removed + s2s.xml: section must be added (see s2s.xml.dist) + resolver.xml: may be deleted (file not required anymore) + 20080519: AFFECTS: users of www/nginx and www/nginx-devel AUTHOR: osa@FreeBSD.org @@ -6453,4 +6464,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.634 2008/05/20 09:57:45 osa Exp $ +$FreeBSD: ports/UPDATING,v 1.635 2008/05/24 00:05:24 mm Exp $ ==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#4 (text+ko) ==== @@ -61,7 +61,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/dtrace/src/sbin/dump/dump.8#6 (text+ko) ==== @@ -27,7 +27,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dump.8 8.3 (Berkeley) 5/1/95 -.\" $FreeBSD: src/sbin/dump/dump.8,v 1.75 2006/09/18 11:55:09 ru Exp $ +.\" $FreeBSD: src/sbin/dump/dump.8,v 1.76 2008/05/23 23:13:14 mckusick Exp $ .\" .Dd February 24, 2006 .Dt DUMP 8 @@ -38,7 +38,7 @@ .Nd file system backup .Sh SYNOPSIS .Nm -.Op Fl 0123456789acLnSu +.Op Fl 0123456789acLnrRSu .Op Fl B Ar records .Op Fl b Ar blocksize .Op Fl C Ar cachesize @@ -258,6 +258,27 @@ .Dq operator by means similar to a .Xr wall 1 . +.It Fl r +Be rsync-friendly. +Normally dump stores the date of the current +and prior dump in numerous places throughout the dump. +These scattered changes significantly slow down rsync or +another incremental file transfer program when they are +used to update a remote copy of a level 0 dump, +since the date changes for each dump. +This option sets both dates to the epoch, permitting +rsync to be much more efficient when transferring a dump file. +.It Fl R +Be even more rsync-friendly. +This option disables the storage of the actual inode access time +(storing it instead as the inode's modified time). +This option permits rsync to be even more efficient +when transferring dumps generated from filesystems with numerous files +which are not changing other than their access times. +The +.Fl R +option also sets +.Fl r . .It Fl S Display an estimate of the backup size and the number of tapes required, and exit without actually performing the dump. ==== //depot/projects/dtrace/src/sbin/dump/dump.h#5 (text+ko) ==== @@ -28,7 +28,7 @@ * * @(#)dump.h 8.2 (Berkeley) 4/28/95 * - * $FreeBSD: src/sbin/dump/dump.h,v 1.28 2007/02/26 08:15:56 mckusick Exp $ + * $FreeBSD: src/sbin/dump/dump.h,v 1.29 2008/05/23 23:13:14 mckusick Exp $ */ /* @@ -75,6 +75,7 @@ int nonodump; /* if set, do not honor UF_NODUMP user flags */ int unlimited; /* if set, write to end of medium */ int cachesize; /* size of block cache in bytes */ +int rsync_friendly; /* be friendly with rsync */ int notify; /* notify operator flag */ int blockswritten; /* number of blocks written on current tape */ ==== //depot/projects/dtrace/src/sbin/dump/main.c#6 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/1/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dump/main.c,v 1.65 2006/10/12 20:22:31 ru Exp $"; + "$FreeBSD: src/sbin/dump/main.c,v 1.66 2008/05/23 23:13:14 mckusick Exp $"; #endif /* not lint */ #include @@ -117,13 +117,14 @@ if (TP_BSIZE / DEV_BSIZE == 0 || TP_BSIZE % DEV_BSIZE != 0) quit("TP_BSIZE must be a multiple of DEV_BSIZE\n"); level = '0'; + rsync_friendly = 0; if (argc < 2) usage(); obsolete(&argc, &argv); while ((ch = getopt(argc, argv, - "0123456789aB:b:C:cD:d:f:h:LnP:Ss:T:uWw")) != -1) + "0123456789aB:b:C:cD:d:f:h:LnP:RrSs:T:uWw")) != -1) switch (ch) { /* dump level */ case '0': case '1': case '2': case '3': case '4': @@ -189,6 +190,16 @@ popenout = optarg; break; + case 'r': /* store slightly less data to be friendly to rsync */ + if (rsync_friendly < 1) + rsync_friendly = 1; + break; + + case 'R': /* store even less data to be friendlier to rsync */ + if (rsync_friendly < 2) + rsync_friendly = 2; + break; + case 'S': /* exit after estimating # of tapes */ just_estimate = 1; break; @@ -236,6 +247,11 @@ (void)fprintf(stderr, "\n"); exit(X_STARTUP); } + if (rsync_friendly && (level>'0')) { + (void)fprintf(stderr, "%s %s\n", "rsync friendly options", + "can be used only with level 0 dumps."); + exit(X_STARTUP); + } if (Tflag && uflag) { (void)fprintf(stderr, "You cannot use the T and u flags together.\n"); @@ -384,7 +400,11 @@ (void)gethostname(spcl.c_host, NAMELEN); spcl.c_level = level - '0'; spcl.c_type = TS_TAPE; - + if (rsync_friendly) { + /* don't store real dump times */ + spcl.c_date = 0; + spcl.c_ddate = 0; + } if (spcl.c_date == 0) { tmsg = "the epoch\n"; } else { @@ -393,7 +413,7 @@ } msg("Date of this level %c dump: %s", level, tmsg); - if (!Tflag) + if (!Tflag && (!rsync_friendly)) getdumptime(); /* /etc/dumpdates snarfed */ if (spcl.c_ddate == 0) { tmsg = "the epoch\n"; ==== //depot/projects/dtrace/src/sbin/dump/traverse.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ static char sccsid[] = "@(#)traverse.c 8.7 (Berkeley) 6/15/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dump/traverse.c,v 1.40 2007/04/05 20:31:23 thomas Exp $"; + "$FreeBSD: src/sbin/dump/traverse.c,v 1.41 2008/05/23 23:13:14 mckusick Exp $"; #endif /* not lint */ #include @@ -842,6 +842,11 @@ { int32_t sum, cnt, *lp; + if (rsync_friendly >= 2) { + /* don't track changes to access time */ + spcl.c_atime = spcl.c_mtime; + spcl.c_atimensec = spcl.c_mtimensec; + } spcl.c_inumber = ino; spcl.c_magic = FS_UFS2_MAGIC; spcl.c_checksum = 0; ==== //depot/projects/dtrace/src/sys/kern/vfs_mount.c#33 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.281 2008/04/29 21:40:11 rdivacky Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.282 2008/05/23 23:33:07 rodrigc Exp $"); #include #include @@ -697,8 +697,6 @@ opt->name = strdup("ro", M_MOUNT); fsflags |= MNT_RDONLY; } - else if (strcmp(opt->name, "snapshot") == 0) - fsflags |= MNT_SNAPSHOT; else if (strcmp(opt->name, "suiddir") == 0) fsflags |= MNT_SUIDDIR; else if (strcmp(opt->name, "sync") == 0) ==== //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#24 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.340 2008/03/26 20:48:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.342 2008/05/24 00:41:32 rodrigc Exp $"); #include "opt_mac.h" #include "opt_quota.h" @@ -162,29 +162,15 @@ if (vfs_getopt(mp->mnt_optnew, "acls", NULL, NULL) == 0) mntorflags |= MNT_ACLS; - if (vfs_getopt(mp->mnt_optnew, "async", NULL, NULL) == 0) - mntorflags |= MNT_ASYNC; - - if (vfs_getopt(mp->mnt_optnew, "force", NULL, NULL) == 0) - mntorflags |= MNT_FORCE; - - if (vfs_getopt(mp->mnt_optnew, "multilabel", NULL, NULL) == 0) - mntorflags |= MNT_MULTILABEL; - - if (vfs_getopt(mp->mnt_optnew, "noasync", NULL, NULL) == 0) - mntandnotflags |= MNT_ASYNC; - - if (vfs_getopt(mp->mnt_optnew, "noatime", NULL, NULL) == 0) - mntorflags |= MNT_NOATIME; - - if (vfs_getopt(mp->mnt_optnew, "noclusterr", NULL, NULL) == 0) - mntorflags |= MNT_NOCLUSTERR; - - if (vfs_getopt(mp->mnt_optnew, "noclusterw", NULL, NULL) == 0) - mntorflags |= MNT_NOCLUSTERW; - - if (vfs_getopt(mp->mnt_optnew, "snapshot", NULL, NULL) == 0) + if (vfs_getopt(mp->mnt_optnew, "snapshot", NULL, NULL) == 0) { mntorflags |= MNT_SNAPSHOT; + /* + * Once we have set the MNT_SNAPSHOT flag, do not + * persist "snapshot" in the options list. + */ + vfs_deleteopt(mp->mnt_optnew, "snapshot"); + vfs_deleteopt(mp->mnt_opt, "snapshot"); + } MNT_ILOCK(mp); mp->mnt_flag = (mp->mnt_flag | mntorflags) & ~mntandnotflags;