Re: svn commit: r337670 - in head/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common contrib/opensolaris/uts/common/fs/zfs contrib/opensolaris/uts/common/fs/zfs/sys

2018-08-11 Thread O. Hartmann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Am Sun, 12 Aug 2018 01:10:18 + (UTC)
Matt Macy  schrieb:

> Author: mmacy
> Date: Sun Aug 12 01:10:18 2018
> New Revision: 337670
> URL: https://svnweb.freebsd.org/changeset/base/337670
> 
> Log:
>   MFV/ZoL: add dbuf stats
>   
>   NB: disabled pending the addition of KSTAT_TYPE_RAW support to the
>   SPL
>   
>   commit e0b0ca983d6897bcddf05af2c0e5d01ff66f90db
>   Author: Brian Behlendorf 
>   Date:   Wed Oct 2 17:11:19 2013 -0700
>   
>   Add visibility in to cached dbufs
>   
>   Currently there is no mechanism to inspect which dbufs are being
>   cached by the system.  There are some coarse counters in arcstats
>   by they only give a rough idea of what's being cached.  This patch
>   aims to improve the current situation by adding a new dbufs kstat.
>   
>   When read this new kstat will walk all cached dbufs linked in to
>   the dbuf_hash.  For each dbuf it will dump detailed information
>   about the buffer.  It will also dump additional information about
>   the referenced arc buffer and its related dnode.  This provides a
>   more complete view in to exactly what is being cached.
>   
>   With this generic infrastructure in place utilities can be written
>   to post-process the data to understand exactly how the caching is
>   working.  For example, the data could be processed to show a list
>   of all cached dnodes and how much space they're consuming.  Or a
>   similar list could be generated based on dnode type.  Many other
>   ways to interpret the data exist based on what kinds of questions
>   you're trying to answer.
>   
>   Signed-off-by: Brian Behlendorf 
>   Signed-off-by: Prakash Surya 
> 
> Added:
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf_stats.c
> Modified:
>   head/sys/cddl/compat/opensolaris/sys/kstat.h
>   head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
> 
> Modified: head/sys/cddl/compat/opensolaris/sys/kstat.h
> ==
> --- head/sys/cddl/compat/opensolaris/sys/kstat.h  Sun Aug 12 00:45:53 2018
> (r337669) +++ head/sys/cddl/compat/opensolaris/sys/kstat.hSun Aug 12 
> 01:10:18
> 2018  (r337670) @@ -31,7 +31,18 @@
>  
>  #include 
>  
> -#define  KSTAT_TYPE_NAMED1
> +#define  KSTAT_TYPE_RAW  0   /* can be anything */
> + /* ks_ndata >= 1 */
> +#define  KSTAT_TYPE_NAMED1   /* name/value pair */
> + /* ks_ndata >= 1 */
> +#define  KSTAT_TYPE_INTR 2   /* interrupt statistics */
> + /* ks_ndata == 1 */
> +#define  KSTAT_TYPE_IO   3   /* I/O statistics */
> + /* ks_ndata == 1 */
> +#define  KSTAT_TYPE_TIMER4   /* event timer */
> + /* ks_ndata >= 1 */
> +
> +#define  KSTAT_NUM_TYPES 5
>  
>  #define  KSTAT_FLAG_VIRTUAL  0x01
>  
> 
> Modified: head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
> ==
> --- head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files   Sun Aug 
> 12
> 00:45:53 2018 (r337669) +++
> head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files   Sun Aug 12 
> 01:10:18
> 2018  (r337670) @@ -72,6 +72,7 @@ ZFS_COMMON_OBJS +=  \
> bqueue.o  \ cityhash.o\
>   dbuf.o  \
> + dbuf_stats.o\
>   ddt.o   \
>   ddt_zap.o   \
>   dmu.o   \
> 
> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
> ==
> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Aug 12
> 00:45:53 2018 (r337669) +++
> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sun Aug 12 
> 01:10:18
> 2018  (r337670) @@ -523,6 +523,10 @@ typedef struct arc_state {
>* non-evictable, ARC_BUFC_DATA, and ARC_BUFC_METADATA.
>*/
>   refcount_t arcs_size;
> + /*
> +  * supports the "dbufs" kstat
> +  */
> + arc_state_type_t arcs_state;
>  } arc_state_t;
>  
>  /*
> @@ -,6 +1115,11 @@ typedef struct l1arc_buf_hdr {
>  
>   /* updated atomically */
>   clock_t b_arc_access;
> + uint32_tb_mru_hits;
> + 

svn commit: r337679 - head/sys/dev/cxgbe/iw_cxgbe

2018-08-11 Thread Navdeep Parhar
Author: np
Date: Sun Aug 12 03:36:09 2018
New Revision: 337679
URL: https://svnweb.freebsd.org/changeset/base/337679

Log:
  Remove unused stuff from iw_cxgbe.h

Modified:
  head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h

Modified: head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
==
--- head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h  Sun Aug 12 03:22:28 2018
(r337678)
+++ head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h  Sun Aug 12 03:36:09 2018
(r337679)
@@ -978,20 +978,4 @@ u32 c4iw_get_qpid(struct c4iw_rdev *rdev, struct c4iw_
 void c4iw_put_qpid(struct c4iw_rdev *rdev, u32 qid,
struct c4iw_dev_ucontext *uctx);
 void c4iw_ev_dispatch(struct c4iw_dev *dev, struct t4_cqe *err_cqe);
-void __iomem *c4iw_bar2_addrs(struct c4iw_rdev *rdev, unsigned int qid,
-   enum t4_bar2_qtype qtype,
-   unsigned int *pbar2_qid, u64 *pbar2_pa);
-extern struct cxgb4_client t4c_client;
-extern c4iw_handler_func c4iw_handlers[NUM_CPL_CMDS];
-
-#if defined(__i386__) || defined(__amd64__)
-#define L1_CACHE_BYTES 128
-#else
-#define L1_CACHE_BYTES 32
-#endif
-
-void your_reg_device(struct c4iw_dev *dev);
-
-#define SGE_CTRLQ_NUM  0
-
 #endif
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337677 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 03:15:30 2018
New Revision: 337677
URL: https://svnweb.freebsd.org/changeset/base/337677

Log:
  MFV/ZoL:  Add dbuf hash and dbuf cache kstats
  
  TODO: KSTAT_TYPE_NAMED support
  
  commit 5e021f56d3437d3523904652fe3cc23ea1f4cb70
  Author: Giuseppe Di Natale 
  Date:   Mon Jan 29 10:24:52 2018 -0800
  
  Add dbuf hash and dbuf cache kstats
  
  Introduce kstats about the dbuf hash and dbuf cache
  to make it easier to inspect state. This should help
  with debugging and understanding of these portions
  of the codebase.
  
  Correct format of dbuf kstat file.
  
  Introduce a dbc column to dbufs kstat to indicate if
  a dbuf is in the dbuf cache.
  
  Introduce field filtering in the dbufstat python script.
  
  Introduce a no header option to the dbufstat python script.
  
  Introduce a test case to test basic mru->mfu list movement
  in the ARC.
  
  Reviewed-by: Tony Hutter 
  Reviewed-by: Brian Behlendorf 
  Signed-off-by: Giuseppe Di Natale 
  Closes #6906

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
02:24:18 2018(r337676)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
03:15:30 2018(r337677)
@@ -51,6 +51,103 @@
 #include 
 #include 
 
+kstat_t *dbuf_ksp;
+
+typedef struct dbuf_stats {
+   /*
+* Various statistics about the size of the dbuf cache.
+*/
+   kstat_named_t cache_count;
+   kstat_named_t cache_size_bytes;
+   kstat_named_t cache_size_bytes_max;
+   /*
+* Statistics regarding the bounds on the dbuf cache size.
+*/
+   kstat_named_t cache_target_bytes;
+   kstat_named_t cache_lowater_bytes;
+   kstat_named_t cache_hiwater_bytes;
+   /*
+* Total number of dbuf cache evictions that have occurred.
+*/
+   kstat_named_t cache_total_evicts;
+   /*
+* The distribution of dbuf levels in the dbuf cache and
+* the total size of all dbufs at each level.
+*/
+   kstat_named_t cache_levels[DN_MAX_LEVELS];
+   kstat_named_t cache_levels_bytes[DN_MAX_LEVELS];
+   /*
+* Statistics about the dbuf hash table.
+*/
+   kstat_named_t hash_hits;
+   kstat_named_t hash_misses;
+   kstat_named_t hash_collisions;
+   kstat_named_t hash_elements;
+   kstat_named_t hash_elements_max;
+   /*
+* Number of sublists containing more than one dbuf in the dbuf
+* hash table. Keep track of the longest hash chain.
+*/
+   kstat_named_t hash_chains;
+   kstat_named_t hash_chain_max;
+   /*
+* Number of times a dbuf_create() discovers that a dbuf was
+* already created and in the dbuf hash table.
+*/
+   kstat_named_t hash_insert_race;
+   /*
+* Statistics about the size of the metadata dbuf cache.
+*/
+   kstat_named_t metadata_cache_count;
+   kstat_named_t metadata_cache_size_bytes;
+   kstat_named_t metadata_cache_size_bytes_max;
+   /*
+* For diagnostic purposes, this is incremented whenever we can't add
+* something to the metadata cache because it's full, and instead put
+* the data in the regular dbuf cache.
+*/
+   kstat_named_t metadata_cache_overflow;
+} dbuf_stats_t;
+
+dbuf_stats_t dbuf_stats = {
+   { "cache_count",KSTAT_DATA_UINT64 },
+   { "cache_size_bytes",   KSTAT_DATA_UINT64 },
+   { "cache_size_bytes_max",   KSTAT_DATA_UINT64 },
+   { "cache_target_bytes", KSTAT_DATA_UINT64 },
+   { "cache_lowater_bytes",KSTAT_DATA_UINT64 },
+   { "cache_hiwater_bytes",KSTAT_DATA_UINT64 },
+   { "cache_total_evicts", KSTAT_DATA_UINT64 },
+   { { "cache_levels_N",   KSTAT_DATA_UINT64 } },
+   { { "cache_levels_bytes_N", KSTAT_DATA_UINT64 } },
+   { "hash_hits",  KSTAT_DATA_UINT64 },
+   { "hash_misses",KSTAT_DATA_UINT64 },
+   { "hash_collisions",KSTAT_DATA_UINT64 },
+   { "hash_elements",  KSTAT_DATA_UINT64 },
+   { "hash_elements_max",  KSTAT_DATA_UINT64 },
+   { "hash_chains",KSTAT_DATA_UINT64 },
+   { "hash_chain_max", KSTAT_DATA_UINT64 },
+   { "hash_insert_race",   KSTAT_DATA_UINT64 },
+   { "metadata_cache_count",   KSTAT_DATA_UINT64 },
+   { "metadata_cache_size_bytes",  KSTAT_DATA_UINT64 },
+   { "metadata_cache_size_bytes_max",

svn commit: r337676 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 02:24:18 2018
New Revision: 337676
URL: https://svnweb.freebsd.org/changeset/base/337676

Log:
  MFV/ZoL: Fix stack dbuf_hold_impl()
  
  commit fc5bb51f08a6c91ff9ad3559d0266eeeab0b1f61
  Author: Brian Behlendorf 
  Date:   Thu Aug 26 10:52:00 2010 -0700
  
  Fix stack dbuf_hold_impl()
  
  This commit preserves the recursive function dbuf_hold_impl() but moves
  the local variables and function arguments to the heap to minimize
  the stack frame size.  Enough space is initially allocated on the
  stack for 20 levels of recursion.  This technique was based on commit
  34229a2f2ac07363f64ddd63e014964fff2f0671 which reduced stack usage of
  traverse_visitbp().
  
  Signed-off-by: Brian Behlendorf 

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
02:12:44 2018(r337675)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
02:24:18 2018(r337676)
@@ -51,6 +51,30 @@
 #include 
 #include 
 
+struct dbuf_hold_impl_data {
+   /* Function arguments */
+   dnode_t *dh_dn;
+   uint8_t dh_level;
+   uint64_t dh_blkid;
+   boolean_t dh_fail_sparse;
+   boolean_t dh_fail_uncached;
+   void *dh_tag;
+   dmu_buf_impl_t **dh_dbp;
+   /* Local variables */
+   dmu_buf_impl_t *dh_db;
+   dmu_buf_impl_t *dh_parent;
+   blkptr_t *dh_bp;
+   int dh_err;
+   dbuf_dirty_record_t *dh_dr;
+   int dh_depth;
+};
+
+static void __dbuf_hold_impl_init(struct dbuf_hold_impl_data *dh,
+dnode_t *dn, uint8_t level, uint64_t blkid, boolean_t fail_sparse,
+   boolean_t fail_uncached,
+   void *tag, dmu_buf_impl_t **dbp, int depth);
+static int __dbuf_hold_impl(struct dbuf_hold_impl_data *dh);
+
 static boolean_t dbuf_undirty(dmu_buf_impl_t *db, dmu_tx_t *tx);
 static void dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, dmu_tx_t *tx);
 
@@ -2202,9 +2226,10 @@ dbuf_destroy(dmu_buf_impl_t *db)
  * this happens when the dnode is the meta-dnode, or a userused or groupused
  * object.
  */
-static int
+__attribute__((always_inline))
+static inline int
 dbuf_findbp(dnode_t *dn, int level, uint64_t blkid, int fail_sparse,
-dmu_buf_impl_t **parentp, blkptr_t **bpp)
+dmu_buf_impl_t **parentp, blkptr_t **bpp, struct dbuf_hold_impl_data *dh)
 {
*parentp = NULL;
*bpp = NULL;
@@ -2257,8 +2282,16 @@ dbuf_findbp(dnode_t *dn, int level, uint64_t blkid, in
return (SET_ERROR(ENOENT));
} else if (level < nlevels-1) {
/* this block is referenced from an indirect block */
-   int err = dbuf_hold_impl(dn, level+1,
-   blkid >> epbs, fail_sparse, FALSE, NULL, parentp);
+   int err;
+   if (dh == NULL) {
+   err = dbuf_hold_impl(dn, level+1,
+   blkid >> epbs, fail_sparse, FALSE, NULL, parentp);
+   } else {
+   __dbuf_hold_impl_init(dh + 1, dn, dh->dh_level + 1,
+   blkid >> epbs, fail_sparse, FALSE, NULL,
+   parentp, dh->dh_depth + 1);
+   err = __dbuf_hold_impl(dh + 1);
+   }
if (err)
return (err);
err = dbuf_read(*parentp, NULL,
@@ -2626,108 +2659,189 @@ dbuf_prefetch(dnode_t *dn, int64_t level, uint64_t blk
zio_nowait(pio);
 }
 
+#defineDBUF_HOLD_IMPL_MAX_DEPTH20
+
 /*
+ * Helper function for __dbuf_hold_impl() to copy a buffer. Handles
+ * the case of encrypted, compressed and uncompressed buffers by
+ * allocating the new buffer, respectively, with arc_alloc_raw_buf(),
+ * arc_alloc_compressed_buf() or arc_alloc_buf().*
+ *
+ * NOTE: Declared noinline to avoid stack bloat in __dbuf_hold_impl().
+ */
+noinline static void
+dbuf_hold_copy(struct dbuf_hold_impl_data *dh)
+{
+   dnode_t *dn = dh->dh_dn;
+   dmu_buf_impl_t *db = dh->dh_db;
+   dbuf_dirty_record_t *dr = dh->dh_dr;
+   arc_buf_t *data = dr->dt.dl.dr_data;
+
+   enum zio_compress compress_type = arc_get_compression(data);
+
+   if (compress_type != ZIO_COMPRESS_OFF) {
+   dbuf_set_data(db, arc_alloc_compressed_buf(
+   dn->dn_objset->os_spa, db, arc_buf_size(data),
+   arc_buf_lsize(data), compress_type));
+   } else {
+   dbuf_set_data(db, arc_alloc_buf(dn->dn_objset->os_spa, db,
+   DBUF_GET_BUFC_TYPE(db), db->db.db_size));
+   }
+
+   bcopy(data->b_data, db->db.db_data, arc_buf_size(data));
+}
+
+/*
  * Returns with db_holds incremented, and db_mtx not held.
  * Note: dn_struct_rwlock must be held.
  */
-int

Re: svn commit: r337669 - in head: (or -r337670? or -r337671?) [This broke all gcc 4.2.1 based ci.freebsd.org 's FreeBSD-head-*-build 's]

2018-08-11 Thread Mark Millard via svn-src-head
[armv6 and risk64 built okay. But
mips, mips64, powerpc, powerpc64, powerpcspe,
and sparc64 are failing. By contrast, -r336667
built okay for these, but the jump to -r337671
or later jumped to failure.]

For example . . .

https://ci.freebsd.org/job/FreeBSD-head-powerpc64-build/6951/consoleText
shows:

--- cddl/lib__L ---
In file included from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h:36,
 from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:34:
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h:170: 
warning: declaration does not declare anything
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h:176: 
warning: declaration does not declare anything
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h:177: 
warning: declaration does not declare anything
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_verify':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:793: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_read_impl':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:1028: error: 
'dnode_phys_t' has no member named 'dn_bonus'
--- kerberos5/lib__L ---
--- delete_c.pico ---
cc --sysroot=/usr/obj/usr/src/powerpc.powerpc64/tmp 
-B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin -fpic -DPIC  -O2 -pipe 
-I/usr/src/crypto/heimdal/lib/kadm5 -I/usr/src/crypto/heimdal/lib/asn1 
-I/usr/src/crypto/heimdal/lib/roken -I.   -DHAVE_CONFIG_H 
-I/usr/src/kerberos5/include -g -MD  -MF.depend.delete_c.pico -MTdelete_c.pico 
-std=gnu99 -fstack-protector-strong  -c 
/usr/src/crypto/heimdal/lib/kadm5/delete_c.c -o delete_c.pico
--- cddl/lib__L ---
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_findbp':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:2285: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_prefetch':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:2570: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_check_blkptr':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3082: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_sync_leaf':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3216: error: 
'dnode_phys_t' has no member named 'dn_bonus'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3216: error: 
'dnode_phys_t' has no member named 'dn_bonus'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3218: error: 
'dnode_phys_t' has no member named 'dn_bonus'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3219: error: 
'dnode_phys_t' has no member named 'dn_bonus'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3219: error: 
'dnode_phys_t' has no member named 'dn_bonus'
--- sbin/ipf/libipf__L ---
--- ipft_pc.o ---
cc --sysroot=/usr/obj/usr/src/powerpc.powerpc64/tmp 
-B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin  -O2 -pipe   
-I/usr/src/contrib/ipfilter -I/usr/src/contrib/ipfilter/tools -I/usr/src/sys 
-I/usr/src/sys/contrib/ipfilter -DSTATETOP -D__UIO_EXPOSE -DUSE_INET6 -g -MD  
-MF.depend.ipft_pc.o -MTipft_pc.o -std=gnu99 -fstack-protector-strong 
-Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized 
-Wno-pointer-sign -Wno-format -c /usr/src/contrib/ipfilter/lib/ipft_pc.c -o 
ipft_pc.o
--- cddl/lib__L ---
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dnode_needs_remap':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3735: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_remap':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3769: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c: In function 
'dbuf_write':
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c:3831: error: 
'dnode_phys_t' has no member named 'dn_blkptr'
*** [dbuf.o] Error code 1




===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337675 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 02:12:44 2018
New Revision: 337675
URL: https://svnweb.freebsd.org/changeset/base/337675

Log:
  fix build DN_MAX_BONUSLEN -> DN_OLD_MAX_BONUSLEN

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h Sun Aug 
12 02:09:06 2018(r337674)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h Sun Aug 
12 02:12:44 2018(r337675)
@@ -201,7 +201,7 @@ typedef struct dnode_phys {
};
 #else
blkptr_t dn_blkptr[1];
-   uint8_t dn_bonus[DN_MAX_BONUSLEN - sizeof (blkptr_t)];
+   uint8_t dn_bonus[DN_OLD_MAX_BONUSLEN - sizeof (blkptr_t)];
blkptr_t dn_spill;
 #endif
 } dnode_phys_t;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337674 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 02:09:06 2018
New Revision: 337674
URL: https://svnweb.freebsd.org/changeset/base/337674

Log:
  Restore legacy dnode_phys layout on tier 2 arches
  
  Evidently gcc4 doesn't support anonymous union members

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h Sun Aug 
12 01:54:05 2018(r337673)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h Sun Aug 
12 02:09:06 2018(r337674)
@@ -161,25 +161,54 @@ typedef struct dnode_phys {
uint64_t dn_maxblkid;   /* largest allocated block ID */
uint64_t dn_used;   /* bytes (or sectors) of disk space */
 
+   /*
+* Both dn_pad2 and dn_pad3 are protected by the block's MAC. This
+* allows us to protect any fields that might be added here in the
+* future. In either case, developers will want to check
+* zio_crypt_init_uios_dnode() to ensure the new field is being
+* protected properly.
+*/
uint64_t dn_pad3[4];
-   union {
+   /*
+* The tail region is 448 bytes for a 512 byte dnode, and
+* correspondingly larger for larger dnode sizes. The spill
+* block pointer, when present, is always at the end of the tail
+* region. There are three ways this space may be used, using
+* a 512 byte dnode for this diagram:
+*
+* 0   64  128 192 256 320 384 448 (offset)
+* +---+---+---+---+
+* | dn_blkptr[0]  | dn_blkptr[1]  | dn_blkptr[2]  | / |
+* +---+---+---+---+
+* | dn_blkptr[0]  | dn_bonus[0..319]  |
+* +---+---+---+
+* | dn_blkptr[0]  | dn_bonus[0..191]  | dn_spill  |
+* +---+---+---+
+*/
+#if defined(__i386__) || defined(__amd64__)
+   union {
blkptr_t dn_blkptr[1+DN_OLD_MAX_BONUSLEN/sizeof (blkptr_t)];
-   struct {
-   blkptr_t __dn_ignore1;
+   struct {
+   blkptr_t __dn_ignore1;
uint8_t dn_bonus[DN_OLD_MAX_BONUSLEN];
-   };
-   struct {
-   blkptr_t __dn_ignore2;
+   };
+   struct {
+   blkptr_t __dn_ignore2;
uint8_t __dn_ignore3[DN_OLD_MAX_BONUSLEN -
sizeof (blkptr_t)];
-   blkptr_t dn_spill;
+   blkptr_t dn_spill;
};
-   };
+   };
+#else
+   blkptr_t dn_blkptr[1];
+   uint8_t dn_bonus[DN_MAX_BONUSLEN - sizeof (blkptr_t)];
+   blkptr_t dn_spill;
+#endif
 } dnode_phys_t;
 
 #defineDN_SPILL_BLKPTR(dnp)(blkptr_t *)((char *)(dnp) + \
(((dnp)->dn_extra_slots + 1) << DNODE_SHIFT) - (1 << SPA_BLKPTRSHIFT))
-
+
 struct dnode {
/*
 * Protects the structure of the dnode, including the number of levels
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337673 - head/share/man/man9

2018-08-11 Thread John Baldwin
Author: jhb
Date: Sun Aug 12 01:54:05 2018
New Revision: 337673
URL: https://svnweb.freebsd.org/changeset/base/337673

Log:
  Add an overview section to bus_dma.9.
  
  Describe the role of tags and mapping objects as abstractions.
  Describe static vs dynamic transaction types and give a brief overview
  of the set of functions and object life cycles used for static vs
  dynamic.
  
  While here, fix a few other typos and expand a bit on parent tags.
  
  Reviewed by:  cem, imp
  MFC after:2 weeks
  Differential Revision:https://reviews.freebsd.org/D16652

Modified:
  head/share/man/man9/bus_dma.9

Modified: head/share/man/man9/bus_dma.9
==
--- head/share/man/man9/bus_dma.9   Sun Aug 12 01:29:30 2018
(r337672)
+++ head/share/man/man9/bus_dma.9   Sun Aug 12 01:54:05 2018
(r337673)
@@ -53,7 +53,7 @@
 .\" $FreeBSD$
 .\" $NetBSD: bus_dma.9,v 1.25 2002/10/14 13:43:16 wiz Exp $
 .\"
-.Dd July 17, 2013
+.Dd August 11, 2018
 .Dt BUS_DMA 9
 .Os
 .Sh NAME
@@ -135,11 +135,149 @@ It provides the client with flexibility and simplicity
 abstracting machine dependent issues like setting up
 DMA mappings, handling cache issues, bus specific features
 and limitations.
+.Sh OVERVIEW
+A tag structure
+.Vt ( bus_dma_tag_t )
+is used to describe the properties of a group of related DMA
+transactions.
+One way to view this is that a tag describes the limitations of a DMA engine.
+For example, if a DMA engine in a device is limited to 32-bit addresses,
+that limitation is specified by a parameter when creating the tag
+for that device.
+Similarly, a tag can be marked as requiring buffers whose addresses are
+aligned to a specific boundary.
+.Pp
+Some devices may require multiple tags to describe DMA
+transactions with differing properties.
+For example, a device might require 16-byte alignment of its descriptor ring
+while permitting arbitrary alignment of I/O buffers.
+In this case,
+the driver must create one tag for the descriptor ring and a separate tag for
+I/O buffers.
+If a device has restrictions that are common to all DMA transactions
+in addition to restrictions that differ between unrelated groups of
+transactions,
+the driver can first create a
+.Dq parent
+tag that decribes the common restrictions.
+The per-group tags can then inherit these restrictions from this
+.Dq parent
+tag rather than having to list them explicitly when creating the per-group 
tags.
+.Pp
+A mapping structure
+.Vt ( bus_dmamap_t )
+represents a mapping of a memory region for DMA.
+On systems with I/O MMUs,
+the mapping structure tracks any I/O MMU entries used by a request.
+For DMA requests that require bounce pages,
+the mapping tracks the bounce pages used.
+.Pp
+To prepare for one or more DMA transactions,
+a mapping must be bound to a memory region by calling one of the
+.Fn bus_dmamap_load
+functions.
+These functions configure the mapping which can include programming entries
+in an I/O MMU and/or allocating bounce pages.
+An output of these functions
+(either directly or indirectly by invoking a callback routine)
+is the list of scatter/gather address ranges a consumer can pass to a DMA
+engine to access the memory region.
+When a mapping is no longer needed,
+the mapping must be unloaded via
+.Fn bus_dmamap_unload .
+.Pp
+Before and after each DMA transaction,
+.Fn bus_dmamap_sync
+must be used to ensure that the correct data is used by the DMA engine and
+the CPU.
+If a mapping uses bounce pages,
+the sync operations copy data between the bounce pages and the memory region
+bound to the mapping.
+Sync operations also handle architecture-specific details such as CPU cache
+flushing and CPU memory operation ordering.
+.Sh STATIC VS DYNAMIC
+.Nm
+handles two types of DMA transactions: static and dynamic.
+Static transactions are used with a long-lived memory region that is reused
+for many transactions such as a descriptor ring.
+Dynamic transactions are used for transfers to or from transient buffers
+such as I/O buffers holding a network packet or disk block.
+Each transaction type uses a different subset of the
+.Nm
+API.
+.Ss Static Transactions
+Static transactions use memory regions allocated by
+.Nm .
+Each static memory region is allocated by calling
+.Fn bus_dmamem_alloc .
+This function requires a valid tag describing the properties of the
+DMA transactions to this region such as alignment or address restrictions.
+Multiple regions can share a single tag if they share the same restrictions.
+.Pp
+.Fn bus_dmamem_alloc
+allocates a memory region along with a mapping object.
+The associated tag, memory region, and mapping object must then be passed to
+.Fn bus_dmamap_load
+to bind the mapping to the allocated region and obtain the
+scatter/gather list.
+.Pp
+It is expected that
+.Fn bus_dmamem_alloc
+will attempt to allocate memory requiring less expensive sync operations
+(for example, implementations should not 

svn commit: r337671 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 01:17:32 2018
New Revision: 337671
URL: https://svnweb.freebsd.org/changeset/base/337671

Log:
  MFV/ZoL:Fix PANIC: metaslab_free_dva(): bad DVA X:Y:Z
  
  commit 81edd3e83409218879e7af293daa86b0c40eb015
  Author: Peng 
  Date:   Wed Jun 8 15:22:07 2016 +0800
  
  Fix PANIC: metaslab_free_dva(): bad DVA X:Y:Z
  
  The following scenario can result in garbage in the dn_spill field.
  The db->db_blkptr must be set to NULL when DNODE_FLAG_SPILL_BLKPTR
  is clear to ensure the dn_spill field is cleared.
  
  Current txg = A.
  * A new spill buffer is created. Its dbuf is initialized with
db_blkptr = NULL and it's dirtied.
  
  Current txg = B.
  * The spill buffer is modified. It's marked as dirty in this txg.
  * Additional changes make the spill buffer unnecessary because the
xattr fits into the bonus buffer, so it's removed. The dbuf is
undirtied in this txg, but it's still referenced and cannot be
destroyed.
  
  Current txg = C.
  * Starts syncing of txg A
  * dbuf_sync_leaf() is called for the spill buffer. Since db_blkptr
is NULL, dbuf_check_blkptr() is called.
  * The dbuf starts being written and it reaches the ready state
(not done yet).
  * A new change makes the spill buffer necessary again.
sa_build_layouts() ends up calling dbuf_find() to locate the
dbuf.  It finds the old dbuf because it has not been destroyed yet
(it will be destroyed when the previous write is done and there
are no more references). The old dbuf has db_blkptr != NULL.
  * txg A write is complete and the dbuf released. However it's still
referenced, so it's not destroyed.
  
  Current txg = D.
  * Starts syncing of txg B
  * dbuf_sync_leaf() is called for the bonus buffer. Its contents are
directly copied into the dnode, overwriting the blkptr area because,
in txg B, the bonus buffer was big enough to hold the entire xattr.
  * At this point, the db_blkptr of the spill buffer used in txg C
gets corrupted.
  
  Signed-off-by: Peng 
  Signed-off-by: Tim Chase 
  Signed-off-by: Brian Behlendorf 
  Closes #3937

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
01:10:18 2018(r337670)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
01:17:32 2018(r337671)
@@ -3182,6 +3182,22 @@ dbuf_sync_leaf(dbuf_dirty_record_t *dr, dmu_tx_t *tx)
 
if (db->db_blkid == DMU_SPILL_BLKID) {
mutex_enter(>dn_mtx);
+   if (!(dn->dn_phys->dn_flags & DNODE_FLAG_SPILL_BLKPTR)) {
+   /*
+* In the previous transaction group, the bonus buffer
+* was entirely used to store the attributes for the
+* dnode which overrode the dn_spill field.  However,
+* when adding more attributes to the file a spill
+* block was required to hold the extra attributes.
+*
+* Make sure to clear the garbage left in the dn_spill
+* field from the previous attributes in the bonus
+* buffer.  Otherwise, after writing out the spill
+* block to the new allocated dva, it will free
+* the old block pointed to by the invalid dn_spill.
+*/
+   db->db_blkptr = NULL;
+   }
dn->dn_phys->dn_flags |= DNODE_FLAG_SPILL_BLKPTR;
mutex_exit(>dn_mtx);
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337672 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 01:29:30 2018
New Revision: 337672
URL: https://svnweb.freebsd.org/changeset/base/337672

Log:
  MFV/ZoL: Fix stack noinline
  
  commit 60948de1ef976aabaa3630707bcc8b5867508507
  Author: Brian Behlendorf 
  Date:   Thu Aug 26 10:58:36 2010 -0700
  
  Fix stack noinline
  
  Certain function must never be automatically inlined by gcc because
  they are stack heavy or called recursively.  This patch flags all
  such functions I've found as 'noinline' to prevent gcc from making
  the optimization.
  
  Signed-off-by: Brian Behlendorf 

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
01:17:32 2018(r337671)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  Sun Aug 12 
01:29:30 2018(r337672)
@@ -3101,7 +3101,12 @@ dbuf_check_blkptr(dnode_t *dn, dmu_buf_impl_t *db)
}
 }
 
-static void
+/*
+ * dbuf_sync_indirect() is called recursively from dbuf_sync_list() so it
+ * is critical the we not allow the compiler to inline this function in to
+ * dbuf_sync_list() thereby drastically bloating the stack usage.
+ */
+noinline static void
 dbuf_sync_indirect(dbuf_dirty_record_t *dr, dmu_tx_t *tx)
 {
dmu_buf_impl_t *db = dr->dr_dbuf;
@@ -3148,7 +3153,12 @@ dbuf_sync_indirect(dbuf_dirty_record_t *dr, dmu_tx_t *
zio_nowait(zio);
 }
 
-static void
+/*
+ * dbuf_sync_leaf() is called recursively from dbuf_sync_list() so it is
+ * critical the we not allow the compiler to inline this function in to
+ * dbuf_sync_list() thereby drastically bloating the stack usage.
+ */
+noinline static void
 dbuf_sync_leaf(dbuf_dirty_record_t *dr, dmu_tx_t *tx)
 {
arc_buf_t **datap = >dt.dl.dr_data;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c  Sun Aug 
12 01:17:32 2018(r337671)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c  Sun Aug 
12 01:29:30 2018(r337672)
@@ -2002,7 +2002,7 @@ receive_read(struct receive_arg *ra, int len, void *bu
return (0);
 }
 
-static void
+noinline static void
 byteswap_record(dmu_replay_record_t *drr)
 {
 #defineDO64(X) (drr->drr_u.X = BSWAP_64(drr->drr_u.X))
@@ -2137,7 +2137,7 @@ save_resume_state(struct receive_writer_arg *rwa,
rwa->os->os_dsl_dataset->ds_resume_bytes[txgoff] = rwa->bytes_read;
 }
 
-static int
+noinline static int
 receive_object(struct receive_writer_arg *rwa, struct drr_object *drro,
 void *data)
 {
@@ -2243,7 +2243,7 @@ receive_object(struct receive_writer_arg *rwa, struct 
 }
 
 /* ARGSUSED */
-static int
+noinline static int
 receive_freeobjects(struct receive_writer_arg *rwa,
 struct drr_freeobjects *drrfo)
 {
@@ -2279,7 +2279,7 @@ receive_freeobjects(struct receive_writer_arg *rwa,
return (0);
 }
 
-static int
+noinline static int
 receive_write(struct receive_writer_arg *rwa, struct drr_write *drrw,
 arc_buf_t *abuf)
 {
@@ -2309,7 +2309,6 @@ receive_write(struct receive_writer_arg *rwa, struct d
return (SET_ERROR(EINVAL));
 
tx = dmu_tx_create(rwa->os);
-
dmu_tx_hold_write(tx, drrw->drr_object,
drrw->drr_offset, drrw->drr_logical_size);
err = dmu_tx_assign(tx, TXG_WAIT);
@@ -2500,7 +2499,7 @@ receive_spill(struct receive_writer_arg *rwa, struct d
 }
 
 /* ARGSUSED */
-static int
+noinline static int
 receive_free(struct receive_writer_arg *rwa, struct drr_free *drrf)
 {
int err;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337670 - in head/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common contrib/opensolaris/uts/common/fs/zfs contrib/opensolaris/uts/common/fs/zfs/sys

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 01:10:18 2018
New Revision: 337670
URL: https://svnweb.freebsd.org/changeset/base/337670

Log:
  MFV/ZoL: add dbuf stats
  
  NB: disabled pending the addition of KSTAT_TYPE_RAW support to the
  SPL
  
  commit e0b0ca983d6897bcddf05af2c0e5d01ff66f90db
  Author: Brian Behlendorf 
  Date:   Wed Oct 2 17:11:19 2013 -0700
  
  Add visibility in to cached dbufs
  
  Currently there is no mechanism to inspect which dbufs are being
  cached by the system.  There are some coarse counters in arcstats
  by they only give a rough idea of what's being cached.  This patch
  aims to improve the current situation by adding a new dbufs kstat.
  
  When read this new kstat will walk all cached dbufs linked in to
  the dbuf_hash.  For each dbuf it will dump detailed information
  about the buffer.  It will also dump additional information about
  the referenced arc buffer and its related dnode.  This provides a
  more complete view in to exactly what is being cached.
  
  With this generic infrastructure in place utilities can be written
  to post-process the data to understand exactly how the caching is
  working.  For example, the data could be processed to show a list
  of all cached dnodes and how much space they're consuming.  Or a
  similar list could be generated based on dnode type.  Many other
  ways to interpret the data exist based on what kinds of questions
  you're trying to answer.
  
  Signed-off-by: Brian Behlendorf 
  Signed-off-by: Prakash Surya 

Added:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf_stats.c
Modified:
  head/sys/cddl/compat/opensolaris/sys/kstat.h
  head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h

Modified: head/sys/cddl/compat/opensolaris/sys/kstat.h
==
--- head/sys/cddl/compat/opensolaris/sys/kstat.hSun Aug 12 00:45:53 
2018(r337669)
+++ head/sys/cddl/compat/opensolaris/sys/kstat.hSun Aug 12 01:10:18 
2018(r337670)
@@ -31,7 +31,18 @@
 
 #include 
 
-#defineKSTAT_TYPE_NAMED1
+#defineKSTAT_TYPE_RAW  0   /* can be anything */
+   /* ks_ndata >= 1 */
+#defineKSTAT_TYPE_NAMED1   /* name/value pair */
+   /* ks_ndata >= 1 */
+#defineKSTAT_TYPE_INTR 2   /* interrupt statistics */
+   /* ks_ndata == 1 */
+#defineKSTAT_TYPE_IO   3   /* I/O statistics */
+   /* ks_ndata == 1 */
+#defineKSTAT_TYPE_TIMER4   /* event timer */
+   /* ks_ndata >= 1 */
+
+#defineKSTAT_NUM_TYPES 5
 
 #defineKSTAT_FLAG_VIRTUAL  0x01
 

Modified: head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
==
--- head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Sun Aug 12 
00:45:53 2018(r337669)
+++ head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Sun Aug 12 
01:10:18 2018(r337670)
@@ -72,6 +72,7 @@ ZFS_COMMON_OBJS +=\
bqueue.o\
cityhash.o  \
dbuf.o  \
+   dbuf_stats.o\
ddt.o   \
ddt_zap.o   \
dmu.o   \

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sun Aug 12 
00:45:53 2018(r337669)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sun Aug 12 
01:10:18 2018(r337670)
@@ -523,6 +523,10 @@ typedef struct arc_state {
 * non-evictable, ARC_BUFC_DATA, and ARC_BUFC_METADATA.
 */
refcount_t arcs_size;
+   /*
+* supports the "dbufs" kstat
+*/
+   arc_state_type_t arcs_state;
 } arc_state_t;
 
 /*
@@ -,6 +1115,11 @@ typedef struct l1arc_buf_hdr {
 
/* updated atomically */
clock_t b_arc_access;
+   uint32_tb_mru_hits;
+   uint32_tb_mru_ghost_hits;
+   uint32_tb_mfu_hits;
+   uint32_tb_mfu_ghost_hits;
+   uint32_tb_l2_hits;
 
/* self protecting */

svn commit: r337669 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/ztest cddl/usr.bin/ztest sys/cddl/contrib/opensolaris/common/zfs sys/cddl/contrib/opensolaris/uts/common...

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sun Aug 12 00:45:53 2018
New Revision: 337669
URL: https://svnweb.freebsd.org/changeset/base/337669

Log:
  MFV/ZoL: Implement large_dnode pool feature
  
  commit 50c957f702ea6d08a634e42f73e8a49931dd8055
  Author: Ned Bass 
  Date:   Wed Mar 16 18:25:34 2016 -0700
  
  Implement large_dnode pool feature
  
  Justification
  -
  
  This feature adds support for variable length dnodes. Our motivation is
  to eliminate the overhead associated with using spill blocks.  Spill
  blocks are used to store system attribute data (i.e. file metadata) that
  does not fit in the dnode's bonus buffer. By allowing a larger bonus
  buffer area the use of a spill block can be avoided.  Spill blocks
  potentially incur an additional read I/O for every dnode in a dnode
  block. As a worst case example, reading 32 dnodes from a 16k dnode block
  and all of the spill blocks could issue 33 separate reads. Now suppose
  those dnodes have size 1024 and therefore don't need spill blocks.  Then
  the worst case number of blocks read is reduced to from 33 to two--one
  per dnode block. In practice spill blocks may tend to be co-located on
  disk with the dnode blocks so the reduction in I/O would not be this
  drastic. In a badly fragmented pool, however, the improvement could be
  significant.
  
  ZFS-on-Linux systems that make heavy use of extended attributes would
  benefit from this feature. In particular, ZFS-on-Linux supports the
  xattr=sa dataset property which allows file extended attribute data
  to be stored in the dnode bonus buffer as an alternative to the
  traditional directory-based format. Workloads such as SELinux and the
  Lustre distributed filesystem often store enough xattr data to force
  spill bocks when xattr=sa is in effect. Large dnodes may therefore
  provide a performance benefit to such systems.
  
  Other use cases that may benefit from this feature include files with
  large ACLs and symbolic links with long target names. Furthermore,
  this feature may be desirable on other platforms in case future
  applications or features are developed that could make use of a
  larger bonus buffer area.
  
  Implementation
  --
  
  The size of a dnode may be a multiple of 512 bytes up to the size of
  a dnode block (currently 16384 bytes). A dn_extra_slots field was
  added to the current on-disk dnode_phys_t structure to describe the
  size of the physical dnode on disk. The 8 bits for this field were
  taken from the zero filled dn_pad2 field. The field represents how
  many "extra" dnode_phys_t slots a dnode consumes in its dnode block.
  This convention results in a value of 0 for 512 byte dnodes which
  preserves on-disk format compatibility with older software.
  
  Similarly, the in-memory dnode_t structure has a new dn_num_slots field
  to represent the total number of dnode_phys_t slots consumed on disk.
  Thus dn->dn_num_slots is 1 greater than the corresponding
  dnp->dn_extra_slots. This difference in convention was adopted
  because, unlike on-disk structures, backward compatibility is not a
  concern for in-memory objects, so we used a more natural way to
  represent size for a dnode_t.
  
  The default size for newly created dnodes is determined by the value of
  a new "dnodesize" dataset property. By default the property is set to
  "legacy" which is compatible with older software. Setting the property
  to "auto" will allow the filesystem to choose the most suitable dnode
  size. Currently this just sets the default dnode size to 1k, but future
  code improvements could dynamically choose a size based on observed
  workload patterns. Dnodes of varying sizes can coexist within the same
  dataset and even within the same dnode block. For example, to enable
  automatically-sized dnodes, run
  
   # zfs set dnodesize=auto tank/fish
  
  The user can also specify literal values for the dnodesize property.
  These are currently limited to powers of two from 1k to 16k. The
  power-of-2 limitation is only for simplicity of the user interface.
  Internally the implementation can handle any multiple of 512 up to 16k,
  and consumers of the DMU API can specify any legal dnode value.
  
  The size of a new dnode is determined at object allocation time and
  stored as a new field in the znode in-memory structure. New DMU
  interfaces are added to allow the consumer to specify the dnode size
  that a newly allocated object should use. Existing interfaces are
  unchanged to avoid having to update every call site and to preserve
  compatibility with external consumers such as Lustre. The new
  interfaces names are given below. The versions of these functions that
  don't take a dnodesize 

svn commit: r337667 - head/sbin/bectl

2018-08-11 Thread Kyle Evans
Author: kevans
Date: Sun Aug 12 00:09:52 2018
New Revision: 337667
URL: https://svnweb.freebsd.org/changeset/base/337667

Log:
  bectl(8): Use strcmp, rather than trying to directly compare

Modified:
  head/sbin/bectl/bectl_list.c

Modified: head/sbin/bectl/bectl_list.c
==
--- head/sbin/bectl/bectl_list.cSun Aug 12 00:08:14 2018
(r337666)
+++ head/sbin/bectl/bectl_list.cSun Aug 12 00:09:52 2018
(r337667)
@@ -320,7 +320,7 @@ print_headers(nvlist_t *props, struct printc *pc)
 * will produce quite a bit of input.  Throw an extra blank line after
 * the header to make it look nicer.
 */
-   if (chosen_be_header != HEADER_BE)
+   if (strcmp(chosen_be_header, HEADER_BE) != 0)
printf("\n");
 }
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337666 - head/lib/libc/stdlib

2018-08-11 Thread Kyle Evans
Author: kevans
Date: Sun Aug 12 00:08:14 2018
New Revision: 337666
URL: https://svnweb.freebsd.org/changeset/base/337666

Log:
  getopt_long(3): Document behavior of leading characters in optstring
  
  Leading '+', '-', and ':' in optstring have special meaning. We briefly
  mention that the first two have special meaning in that we say
  POSIXLY_CORRECT turns them off, but we don't actually document their
  meaning. Add a paragraph to RETURN VALUES explaining how they control
  the treatment of non-option arguments.
  
  A leading ':' has no mention; add a note that it suppresses warnings about
  missing arguments.
  
  Reviewed by:  jilles
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D14142

Modified:
  head/lib/libc/stdlib/getopt_long.3

Modified: head/lib/libc/stdlib/getopt_long.3
==
--- head/lib/libc/stdlib/getopt_long.3  Sun Aug 12 00:06:21 2018
(r337665)
+++ head/lib/libc/stdlib/getopt_long.3  Sun Aug 12 00:08:14 2018
(r337666)
@@ -31,7 +31,7 @@
 .\" @(#)getopt.3   8.5 (Berkeley) 4/27/95
 .\" $FreeBSD$
 .\"
-.Dd December 25, 2011
+.Dd May 2, 2018
 .Dt GETOPT_LONG 3
 .Os
 .Sh NAME
@@ -207,12 +207,53 @@ these functions return 0 and store
 .Fa val
 in the location pointed to by
 .Fa flag .
+.Pp
 These functions return
 .Ql \&:
-if there was a missing option argument,
+if there was a missing option argument and error messages are suppressed,
 .Ql \&?
 if the user specified an unknown or ambiguous option, and
 \-1 when the argument list has been exhausted.
+The default behavior when a missing option argument is encountered is to write
+an error and return
+.Ql \&? .
+Specifying
+.Ql \&:
+in
+.Fa optstr
+will cause the error message to be suppressed and
+.Ql \&:
+to be returned instead.
+.Pp
+In addition to
+.Ql \&: ,
+a leading
+.Ql \&+
+or
+.Ql \&-
+in
+.Fa optstr
+also has special meaning.
+If either of these are specified, they must appear before
+.Ql \&: .
+.Pp
+A leading
+.Ql \&+
+indicates that processing should be halted at the first non-option argument,
+matching the default behavior of
+.Xr getopt 3 .
+The default behavior without
+.Ql \&+
+is to permute non-option argments to the end of
+.Fa argv .
+.Pp
+A leading
+.Ql \&-
+indicates that all non-option arguments should be treated as if they are
+arguments to a literal
+.Ql \&1
+flag (i.e., the function call will return the value 1, rather than the char
+literal '1').
 .Sh ENVIRONMENT
 .Bl -tag -width ".Ev POSIXLY_CORRECT"
 .It Ev POSIXLY_CORRECT
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337665 - head/kerberos5/usr.bin/krb5-config

2018-08-11 Thread Kyle Evans
Author: kevans
Date: Sun Aug 12 00:06:21 2018
New Revision: 337665
URL: https://svnweb.freebsd.org/changeset/base/337665

Log:
  krb5-config build: Remove gratuitous escaping
  
  MFC after:1 week

Modified:
  head/kerberos5/usr.bin/krb5-config/Makefile

Modified: head/kerberos5/usr.bin/krb5-config/Makefile
==
--- head/kerberos5/usr.bin/krb5-config/Makefile Sun Aug 12 00:00:13 2018
(r337664)
+++ head/kerberos5/usr.bin/krb5-config/Makefile Sun Aug 12 00:06:21 2018
(r337665)
@@ -6,20 +6,20 @@ MAN=  krb5-config.1
 CLEANFILES= krb5-config
 
 krb5-config: krb5-config.in
-   sed -e "s,@PACKAGE\@,FreeBSD heimdal,g" \
-   -e "s,@VERSION\@,1.1.0,g" \
-   -e "s,@prefix\@,/usr,g" \
-   -e "s,@exec_prefix\@,/usr,g" \
-   -e "s,@libdir\@,${LIBDIR},g" \
-   -e "s,@includedir\@,${INCLUDEDIR},g" \
-   -e "s,@LIB_crypt\@,-lcrypt,g" \
-   -e "s,@LIB_dbopen\@,,g" \
-   -e "s,@LIB_hcrypto_appl\@,-lcrypto,g" \
-   -e "s,@LIB_pkinit\@,-lhx509,g" \
-   -e "s,@LIB_dlopen\@,,g" \
-   -e "s,@LIB_door_create\@,,g" \
-   -e "s,@PTHREAD_LIBADD\@,-pthread,g" \
-   -e "s,@LIBS\@,,g" \
+   sed -e "s,@PACKAGE@,FreeBSD heimdal,g" \
+   -e "s,@VERSION@,1.1.0,g" \
+   -e "s,@prefix@,/usr,g" \
+   -e "s,@exec_prefix@,/usr,g" \
+   -e "s,@libdir@,${LIBDIR},g" \
+   -e "s,@includedir@,${INCLUDEDIR},g" \
+   -e "s,@LIB_crypt@,-lcrypt,g" \
+   -e "s,@LIB_dbopen@,,g" \
+   -e "s,@LIB_hcrypto_appl@,-lcrypto,g" \
+   -e "s,@LIB_pkinit@,-lhx509,g" \
+   -e "s,@LIB_dlopen@,,g" \
+   -e "s,@LIB_door_create@,,g" \
+   -e "s,@PTHREAD_LIBADD@,-pthread,g" \
+   -e "s,@LIBS@,,g" \
-e "s,@INCLUDE_hcrypto@,,g" \
${.ALLSRC} > ${.TARGET}
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337664 - head/sbin/bectl

2018-08-11 Thread Kyle Evans
Author: kevans
Date: Sun Aug 12 00:00:13 2018
New Revision: 337664
URL: https://svnweb.freebsd.org/changeset/base/337664

Log:
  bectl(8): Rename "index" variable, which shadows a global in some lands

Modified:
  head/sbin/bectl/bectl.c

Modified: head/sbin/bectl/bectl.c
==
--- head/sbin/bectl/bectl.c Sat Aug 11 23:50:09 2018(r337663)
+++ head/sbin/bectl/bectl.c Sun Aug 12 00:00:13 2018(r337664)
@@ -116,14 +116,14 @@ static struct command_map_entry command_map[] =
 };
 
 static int
-get_cmd_index(const char *cmd, int *index)
+get_cmd_index(const char *cmd, int *idx)
 {
int map_size;
 
map_size = nitems(command_map);
for (int i = 0; i < map_size; ++i) {
if (strcmp(cmd, command_map[i].command) == 0) {
-   *index = i;
+   *idx = i;
return (0);
}
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337663 - in head: . cddl/lib cddl/lib/libbe contrib/mdocml lib/libbe sbin sbin/bectl share/mk

2018-08-11 Thread Kyle Evans
Author: kevans
Date: Sat Aug 11 23:50:09 2018
New Revision: 337663
URL: https://svnweb.freebsd.org/changeset/base/337663

Log:
  Merge libbe(3)/bectl(8) from projects/bectl into head
  
  bectl(8) is an administrative interface for working with ZFS boot
  environments, intended to provide a superset of the functionality provided
  by sysutils/beadm.
  
  libbe(3) is the back-end library that the required functionality has been
  pulled out into for later reuse.
  
  These were originally written for GSoC 2017 under the mentorship of
  allanjude@.
  
  bectl(8) has proven pretty stable in my testing, with the known bug
  documented in the man page.
  
  Relnotes: yes

Added:
  head/cddl/lib/libbe/
 - copied from r337662, projects/bectl/cddl/lib/libbe/
  head/lib/libbe/
 - copied from r337662, projects/bectl/lib/libbe/
  head/sbin/bectl/
 - copied from r337662, projects/bectl/sbin/bectl/
Modified:
  head/Makefile.inc1
  head/cddl/lib/Makefile
  head/contrib/mdocml/lib.in
  head/sbin/Makefile
  head/share/mk/bsd.libnames.mk
  head/share/mk/src.libnames.mk
Directory Properties:
  head/   (props changed)
  head/cddl/   (props changed)
  head/contrib/mdocml/   (props changed)

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Sat Aug 11 22:45:39 2018(r337662)
+++ head/Makefile.inc1  Sat Aug 11 23:50:09 2018(r337663)
@@ -2524,7 +2524,7 @@ _prebuild_libs=   ${_kerberos5_lib_libasn1} \
${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
${_cddl_lib_libuutil} \
${_cddl_lib_libavl} \
-   ${_cddl_lib_libzfs_core} \
+   ${_cddl_lib_libzfs_core} ${_cddl_lib_libzfs} \
${_cddl_lib_libctf} \
lib/libufs \
lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
@@ -2597,7 +2597,15 @@ _cddl_lib_libavl= cddl/lib/libavl
 _cddl_lib_libuutil= cddl/lib/libuutil
 .if ${MK_ZFS} != "no"
 _cddl_lib_libzfs_core= cddl/lib/libzfs_core
+_cddl_lib_libzfs= cddl/lib/libzfs
+
 cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L
+
+cddl/lib/libzfs__L: cddl/lib/libzfs_core__L lib/msun__L lib/libutil__L
+cddl/lib/libzfs__L: lib/libthr__L lib/libmd__L lib/libz__L cddl/lib/libumem__L
+cddl/lib/libzfs__L: cddl/lib/libuutil__L cddl/lib/libavl__L lib/libgeom__L
+
+cddl/lib/libbe__L: cddl/lib/libzfs__L
 .endif
 _cddl_lib_libctf= cddl/lib/libctf
 _cddl_lib= cddl/lib

Modified: head/cddl/lib/Makefile
==
--- head/cddl/lib/Makefile  Sat Aug 11 22:45:39 2018(r337662)
+++ head/cddl/lib/Makefile  Sat Aug 11 23:50:09 2018(r337663)
@@ -4,6 +4,7 @@
 
 SUBDIR=${_drti} \
libavl \
+   ${_libbe} \
libctf \
${_libdtrace} \
libnvpair \
@@ -16,6 +17,7 @@ SUBDIR=   ${_drti} \
 SUBDIR.${MK_TESTS}+= tests
 
 .if ${MK_ZFS} != "no"
+_libbe=libbe
 _libzfs_core=  libzfs_core
 _libzfs=   libzfs
 .if ${MK_LIBTHR} != "no"
@@ -28,6 +30,7 @@ _drti=drti
 _libdtrace=libdtrace
 .endif
 
+SUBDIR_DEPEND_libbe=   libnvpair libzfs
 SUBDIR_DEPEND_libdtrace=   libctf
 SUBDIR_DEPEND_libzfs_core= libnvpair
 SUBDIR_DEPEND_libzfs=  libavl libnvpair libumem libuutil libzfs_core

Modified: head/contrib/mdocml/lib.in
==
--- head/contrib/mdocml/lib.in  Sat Aug 11 22:45:39 2018(r337662)
+++ head/contrib/mdocml/lib.in  Sat Aug 11 23:50:09 2018(r337663)
@@ -28,6 +28,7 @@ LINE("lib80211",  "802.11 Wireless Network Management L
 LINE("libarchive", "Streaming Archive Library (libarchive, \\-larchive)")
 LINE("libarm", "ARM Architecture Library (libarm, \\-larm)")
 LINE("libarm32",   "ARM32 Architecture Library (libarm32, \\-larm32)")
+LINE("libbe",  "Boot Environment Library (libbe, \\-lbe)")
 LINE("libbluetooth",   "Bluetooth Library (libbluetooth, \\-lbluetooth)")
 LINE("libbsm", "Basic Security Module Library (libbsm, \\-lbsm)")
 LINE("libc",   "Standard C\\~Library (libc, \\-lc)")

Modified: head/sbin/Makefile
==
--- head/sbin/Makefile  Sat Aug 11 22:45:39 2018(r337662)
+++ head/sbin/Makefile  Sat Aug 11 23:50:09 2018(r337663)
@@ -86,6 +86,7 @@ SUBDIR.${MK_PF}+= pfctl
 SUBDIR.${MK_PF}+=  pflogd
 SUBDIR.${MK_QUOTAS}+=  quotacheck
 SUBDIR.${MK_ROUTED}+=  routed
+SUBDIR.${MK_ZFS}+= bectl
 SUBDIR.${MK_ZFS}+= zfsbootcfg
 
 SUBDIR.${MK_TESTS}+=   tests

Modified: head/share/mk/bsd.libnames.mk
==
--- head/share/mk/bsd.libnames.mk   Sat Aug 11 22:45:39 2018
(r337662)
+++ head/share/mk/bsd.libnames.mk   Sat Aug 11 23:50:09 2018
(r337663)
@@ -23,6 

Re: svn commit: r337618 - head/usr.bin/printf

2018-08-11 Thread Pedro Giffuni

Duh!


On 08/11/18 06:13, Jilles Tjoelker wrote:

Author: jilles
Date: Sat Aug 11 11:13:34 2018
New Revision: 337618
URL: https://svnweb.freebsd.org/changeset/base/337618

Log:
   printf: Fix \c in %b in printf builtin exiting the shell after r337458
   
   SVN r337458 erroneously partially reverted r265885.
   
   This is immediately visible when running the Kyua/ATF tests for

   usr.bin/printf, which actually test sh's printf builtin.
   
   PR:		229641


Modified:
   head/usr.bin/printf/printf.c

Modified: head/usr.bin/printf/printf.c
==
--- head/usr.bin/printf/printf.cSat Aug 11 11:05:22 2018
(r337617)
+++ head/usr.bin/printf/printf.cSat Aug 11 11:13:34 2018
(r337618)
@@ -388,7 +388,7 @@ printf_doformat(char *fmt, int *rval)
  
  		free(p);

if (getout)
-   exit(*rval);
+   return (end_fmt);
break;
}
case 'c': {


Thanks for fixing this!
I recall it's the second time I (inadvertently) commit this bug.
So great to have a corresponding test!

Pedro.
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337661 - head/usr.bin/top

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sat Aug 11 22:11:12 2018
New Revision: 337661
URL: https://svnweb.freebsd.org/changeset/base/337661

Log:
  fix top after arc accounting change

Modified:
  head/usr.bin/top/machine.c

Modified: head/usr.bin/top/machine.c
==
--- head/usr.bin/top/machine.c  Sat Aug 11 22:01:52 2018(r337660)
+++ head/usr.bin/top/machine.c  Sat Aug 11 22:11:12 2018(r337661)
@@ -522,8 +522,12 @@ get_system_info(struct system_info *si)
GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc_stat);
GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", arc_stat2);
arc_stats[4] = (arc_stat + arc_stat2) >> 10;
-   GETSYSCTL("kstat.zfs.misc.arcstats.other_size", arc_stat);
+   GETSYSCTL("kstat.zfs.misc.arcstats.bonus_size", arc_stat);
arc_stats[5] = arc_stat >> 10;
+   GETSYSCTL("kstat.zfs.misc.arcstats.dnode_size", arc_stat);
+   arc_stats[5] += arc_stat >> 10;
+   GETSYSCTL("kstat.zfs.misc.arcstats.dbuf_size", arc_stat);
+   arc_stats[5] += arc_stat >> 10;
si->arc = arc_stats;
}
if (carc_enabled) {
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337660 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sat Aug 11 22:01:52 2018
New Revision: 337660
URL: https://svnweb.freebsd.org/changeset/base/337660

Log:
  Enable balanced arc pruning
  
  Taken from:
  ommit f6046738365571bd647f804958dfdff8a32fbde4
  Author: Brian Behlendorf 
  Date:   Sat May 30 09:57:53 2015 -0500
  
  Make arc_prune() asynchronous
  
  As described in the comment above arc_adapt_thread() it is critical
  that the arc_adapt_thread() function never sleep while holding a hash
  lock.  This behavior was possible in the Linux implementation because
  the arc_prune() logic was implemented to be synchronous.  Under
  illumos the analogous dnlc_reduce_cache() function is asynchronous.
  
  To address this the arc_do_user_prune() function is has been reworked
  in to two new functions as follows:
  
  * arc_prune_async() is an asynchronous implementation which dispatches
  the prune callback to be run by the system taskq.  This makes it
  suitable to use in the context of the arc_adapt_thread().
  
  * arc_prune() is a synchronous implementation which depends on the
  arc_prune_async() implementation but blocks until the outstanding
  callbacks complete.  This is used in arc_kmem_reap_now() where it
  is safe, and expected, that memory will be freed.
  
  This patch additionally adds the zfs_arc_meta_strategy module option
  while allows the meta reclaim strategy to be configured.  It defaults
  to a balanced strategy which has been proved to work well under Linux
  but the illumos meta-only strategy can be enabled.
  
  Signed-off-by: Tim Chase 
  Signed-off-by: Brian Behlendorf 

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sat Aug 11 
21:10:08 2018(r337659)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sat Aug 11 
22:01:52 2018(r337660)
@@ -525,6 +525,14 @@ typedef struct arc_state {
refcount_t arcs_size;
 } arc_state_t;
 
+/*
+ * Percentage that can be consumed by dnodes of ARC meta buffers.
+ */
+int zfs_arc_meta_prune = 1;
+unsigned long zfs_arc_dnode_limit_percent = 10;
+int zfs_arc_meta_strategy = ARC_STRATEGY_META_BALANCED;
+int zfs_arc_meta_adjust_restarts = 4096;
+
 /* The 6 states: */
 static arc_state_t ARC_anon;
 static arc_state_t ARC_mru;
@@ -4076,11 +4084,114 @@ arc_adjust_impl(arc_state_t *state, uint64_t spa, int6
 }
 
 /*
+ * The goal of this function is to evict enough meta data buffers from the
+ * ARC in order to enforce the arc_meta_limit.  Achieving this is slightly
+ * more complicated than it appears because it is common for data buffers
+ * to have holds on meta data buffers.  In addition, dnode meta data buffers
+ * will be held by the dnodes in the block preventing them from being freed.
+ * This means we can't simply traverse the ARC and expect to always find
+ * enough unheld meta data buffer to release.
+ *
+ * Therefore, this function has been updated to make alternating passes
+ * over the ARC releasing data buffers and then newly unheld meta data
+ * buffers.  This ensures forward progress is maintained and meta_used
+ * will decrease.  Normally this is sufficient, but if required the ARC
+ * will call the registered prune callbacks causing dentry and inodes to
+ * be dropped from the VFS cache.  This will make dnode meta data buffers
+ * available for reclaim.
+ */
+static uint64_t
+arc_adjust_meta_balanced(uint64_t meta_used)
+{
+   int64_t delta, prune = 0, adjustmnt;
+   uint64_t total_evicted = 0;
+   arc_buf_contents_t type = ARC_BUFC_DATA;
+   int restarts = MAX(zfs_arc_meta_adjust_restarts, 0);
+
+restart:
+   /*
+* This slightly differs than the way we evict from the mru in
+* arc_adjust because we don't have a "target" value (i.e. no
+* "meta" arc_p). As a result, I think we can completely
+* cannibalize the metadata in the MRU before we evict the
+* metadata from the MFU. I think we probably need to implement a
+* "metadata arc_p" value to do this properly.
+*/
+   adjustmnt = meta_used - arc_meta_limit;
+
+   if (adjustmnt > 0 && refcount_count(_mru->arcs_esize[type]) > 0) {
+   delta = MIN(refcount_count(_mru->arcs_esize[type]),
+   adjustmnt);
+   total_evicted += arc_adjust_impl(arc_mru, 0, delta, type);
+   adjustmnt -= delta;
+   }
+
+   /*
+* We can't afford to recalculate adjustmnt here. If we do,
+* new metadata buffers can sneak into the MRU or ANON lists,
+* thus penalize the MFU metadata. Although the fudge factor is
+* small, it has been empirically shown to be significant for
+* certain workloads (e.g. creating many 

svn commit: r337659 - in head/sys/dev/cxgbe: . iw_cxgbe

2018-08-11 Thread Navdeep Parhar
Author: np
Date: Sat Aug 11 21:10:08 2018
New Revision: 337659
URL: https://svnweb.freebsd.org/changeset/base/337659

Log:
  cxgbe(4): Move all control queues to the adapter.
  
  There used to be one control queue per adapter (the mgmtq) that was
  initialized during adapter init and one per port that was initialized
  later during port init.  This change moves all the control queues (one
  per port/channel) to the adapter so that they are initialized during
  adapter init and are available before any port is up.  This allows the
  driver to issue ctrlq work requests over any channel without having to
  bring up any port.
  
  MFH:  2 weeks
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/adapter.h
  head/sys/dev/cxgbe/iw_cxgbe/cq.c
  head/sys/dev/cxgbe/iw_cxgbe/mem.c
  head/sys/dev/cxgbe/iw_cxgbe/qp.c
  head/sys/dev/cxgbe/t4_filter.c
  head/sys/dev/cxgbe/t4_l2t.c
  head/sys/dev/cxgbe/t4_main.c
  head/sys/dev/cxgbe/t4_sge.c
  head/sys/dev/cxgbe/t4_smt.c
  head/sys/dev/cxgbe/t4_vf.c

Modified: head/sys/dev/cxgbe/adapter.h
==
--- head/sys/dev/cxgbe/adapter.hSat Aug 11 20:49:19 2018
(r337658)
+++ head/sys/dev/cxgbe/adapter.hSat Aug 11 21:10:08 2018
(r337659)
@@ -100,7 +100,7 @@ enum {
EQ_ESIZE = 64,
 
/* Default queue sizes for all kinds of egress queues */
-   CTRL_EQ_QSIZE = 128,
+   CTRL_EQ_QSIZE = 1024,
TX_EQ_QSIZE = 1024,
 
 #if MJUMPAGESIZE != MCLBYTES
@@ -738,7 +738,6 @@ struct sge {
int neq;/* total # of egress queues */
 
struct sge_iq fwq;  /* Firmware event queue */
-   struct sge_wrq mgmtq;   /* Management queue (control queue) */
struct sge_wrq *ctrlq;  /* Control queues */
struct sge_txq *txq;/* NIC tx queues */
struct sge_rxq *rxq;/* NIC rx queues */

Modified: head/sys/dev/cxgbe/iw_cxgbe/cq.c
==
--- head/sys/dev/cxgbe/iw_cxgbe/cq.cSat Aug 11 20:49:19 2018
(r337658)
+++ head/sys/dev/cxgbe/iw_cxgbe/cq.cSat Aug 11 21:10:08 2018
(r337659)
@@ -63,7 +63,7 @@ static int destroy_cq(struct c4iw_rdev *rdev, struct t
struct wrqe *wr;
 
wr_len = sizeof *res_wr + sizeof *res;
-   wr = alloc_wrqe(wr_len, >sge.mgmtq);
+   wr = alloc_wrqe(wr_len, >sge.ctrlq[0]);
 if (wr == NULL)
 return (0);
 res_wr = wrtod(wr);
@@ -133,7 +133,7 @@ create_cq(struct c4iw_rdev *rdev, struct t4_cq *cq,
/* build fw_ri_res_wr */
wr_len = sizeof *res_wr + sizeof *res;
 
-   wr = alloc_wrqe(wr_len, >sge.mgmtq);
+   wr = alloc_wrqe(wr_len, >sge.ctrlq[0]);
if (wr == NULL)
return (0);
 res_wr = wrtod(wr);

Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c
==
--- head/sys/dev/cxgbe/iw_cxgbe/mem.c   Sat Aug 11 20:49:19 2018
(r337658)
+++ head/sys/dev/cxgbe/iw_cxgbe/mem.c   Sat Aug 11 21:10:08 2018
(r337659)
@@ -82,7 +82,7 @@ write_adapter_mem(struct c4iw_rdev *rdev, u32 addr, u3
wr_len = roundup(sizeof *ulpmc + sizeof *ulpsc +
 roundup(copy_len, T4_ULPTX_MIN_IO), 16);
 
-   wr = alloc_wrqe(wr_len, >sge.mgmtq);
+   wr = alloc_wrqe(wr_len, >sge.ctrlq[0]);
if (wr == NULL)
return (0);
ulpmc = wrtod(wr);

Modified: head/sys/dev/cxgbe/iw_cxgbe/qp.c
==
--- head/sys/dev/cxgbe/iw_cxgbe/qp.cSat Aug 11 20:49:19 2018
(r337658)
+++ head/sys/dev/cxgbe/iw_cxgbe/qp.cSat Aug 11 21:10:08 2018
(r337659)
@@ -236,7 +236,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4
/* build fw_ri_res_wr */
wr_len = sizeof *res_wr + 2 * sizeof *res;
 
-   wr = alloc_wrqe(wr_len, >sge.mgmtq);
+   wr = alloc_wrqe(wr_len, >sge.ctrlq[0]);
if (wr == NULL) {
ret = -ENOMEM;
goto free_rq_dma;

Modified: head/sys/dev/cxgbe/t4_filter.c
==
--- head/sys/dev/cxgbe/t4_filter.c  Sat Aug 11 20:49:19 2018
(r337658)
+++ head/sys/dev/cxgbe/t4_filter.c  Sat Aug 11 21:10:08 2018
(r337659)
@@ -400,7 +400,7 @@ set_tcamfilter(struct adapter *sc, struct t4_filter *t
len16 = howmany(sizeof(struct fw_filter2_wr), 16);
else
len16 = howmany(sizeof(struct fw_filter_wr), 16);
-   fwr = start_wrq_wr(>sge.mgmtq, len16, );
+   fwr = start_wrq_wr(>sge.ctrlq[0], len16, );
if (__predict_false(fwr == NULL))
rc = ENOMEM;
else {
@@ 

Re: svn commit: r337653 -[this broke the ci.freebsd.org 's FreeBSD-head-*-builds, both clang-based and gcc-4.2.1-based that have attempted to build so far]

2018-08-11 Thread Mark Millard via svn-src-head
For example:



https://ci.freebsd.org/job/FreeBSD-head-powerpc64-build/6945/consoleText shows:
(gcc 4.2.1, -r337652 for 6944 built)

--- all_subdir_cddl/usr.sbin ---
In file included from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h:37,
 from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h:30,
 from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h:35,
 from 
/usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h:45,
 from /usr/src/cddl/usr.sbin/zfsd/case_file.cc:54:
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:72: error: 
expected ',' or '...' before 'private'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:73: error: 
expected ',' or '...' before 'private'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:74: error: 
expected ',' or '...' before 'private'
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:224: error: 
expected ',' or '...' before 'private'




https://ci.freebsd.org/job/FreeBSD-head-armv6-build/1090/consoleText shows:
(clang)

--- all_subdir_cddl/usr.sbin ---
In file included from /usr/src/cddl/usr.sbin/zfsd/case_file.cc:54:
In file included from 
/usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h:45:
In file included from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h:35:
In file included from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h:30:
In file included from 
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h:37:
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:72:47: error: 
expected ')'
const blkptr_t *bp, arc_buf_t *buf, void *private);
  ^
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:71:34: note: 
to match this '('
typedef void arc_read_done_func_t(zio_t *zio, const zbookmark_phys_t *zb,
 ^
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:73:70: error: 
expected ')'
typedef void arc_write_done_func_t(zio_t *zio, arc_buf_t *buf, void *private);
 ^
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:73:35: note: 
to match this '('
typedef void arc_write_done_func_t(zio_t *zio, arc_buf_t *buf, void *private);
  ^
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:74:52: error: 
expected ')'
. . .
typedef void arc_prune_func_t(int64_t bytes, void *private);
   ^
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:74:30: note: 
to match this '('
typedef void arc_prune_func_t(int64_t bytes, void *private);
 ^
. . .
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:224:67: 
error: expected ')'
arc_prune_t *arc_add_prune_callback(arc_prune_func_t *func, void *private);
  ^
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:224:36: note: 
to match this '('
arc_prune_t *arc_add_prune_callback(arc_prune_func_t *func, void *private);


(Some builds are still in process.)

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337658 - head/cddl/contrib/opensolaris/cmd/zfs

2018-08-11 Thread Alexander Leidinger
Author: netchild
Date: Sat Aug 11 20:49:19 2018
New Revision: 337658
URL: https://svnweb.freebsd.org/changeset/base/337658

Log:
  Extend the info about the limitations of datasets in jails.
  
  Reviewed by:  allanjude
  Sponsored by: Essen Hackathon

Modified:
  head/cddl/contrib/opensolaris/cmd/zfs/zfs.8

Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8
==
--- head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Aug 11 20:47:35 2018
(r337657)
+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Aug 11 20:49:19 2018
(r337658)
@@ -32,7 +32,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 6, 2017
+.Dd August 11, 2018
 .Dt ZFS 8
 .Os
 .Sh NAME
@@ -462,8 +462,11 @@ responsible for mounting and unmounting the file syste
 dataset can be attached to a jail by using the
 .Qq Nm Cm jail
 subcommand. You cannot attach a dataset to one jail and the children of the
-same dataset to another jails. To allow management of the dataset from within
-a jail, the
+same dataset to another jail. You can also not attach the root file system
+of the jail or any dataset which needs to be mounted before the zfs rc script
+is run inside the jail, as it would be attached unmounted until it is
+mounted from the rc script inside the jail. To allow management of the
+dataset from within a jail, the
 .Sy jailed
 property has to be set and the jail needs access to the
 .Pa /dev/zfs
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337656 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sat Aug 11 20:41:42 2018
New Revision: 337656
URL: https://svnweb.freebsd.org/changeset/base/337656

Log:
  buildworld fix: private appears to have special meaning on FreeBSD - revert 
to priv

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h   Sat Aug 
11 20:32:50 2018(r337655)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h   Sat Aug 
11 20:41:42 2018(r337656)
@@ -69,9 +69,9 @@ typedef struct arc_prune arc_prune_t;
  * parameter will be NULL.
  */
 typedef void arc_read_done_func_t(zio_t *zio, const zbookmark_phys_t *zb,
-const blkptr_t *bp, arc_buf_t *buf, void *private);
-typedef void arc_write_done_func_t(zio_t *zio, arc_buf_t *buf, void *private);
-typedef void arc_prune_func_t(int64_t bytes, void *private);
+const blkptr_t *bp, arc_buf_t *buf, void *priv);
+typedef void arc_write_done_func_t(zio_t *zio, arc_buf_t *buf, void *priv);
+typedef void arc_prune_func_t(int64_t bytes, void *priv);
 
 /* Shared module parameters */
 extern uint64_t zfs_arc_average_blocksize;
@@ -221,7 +221,7 @@ zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg,
 void *priv, zio_priority_t priority, int zio_flags,
 const zbookmark_phys_t *zb);
 
-arc_prune_t *arc_add_prune_callback(arc_prune_func_t *func, void *private);
+arc_prune_t *arc_add_prune_callback(arc_prune_func_t *func, void *priv);
 void arc_remove_prune_callback(arc_prune_t *p);
 void arc_freed(spa_t *spa, const blkptr_t *bp);
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337653 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys

2018-08-11 Thread Matt Macy
Author: mmacy
Date: Sat Aug 11 19:45:04 2018
New Revision: 337653
URL: https://svnweb.freebsd.org/changeset/base/337653

Log:
  Limit the amount of dnode metadata in the ARC
  
  In addition import most recent arc_prune_async implementation as dependency
  
  commit 25458cbef9e59ef9ee6a7e729ab2522ed308f88f
  Author: Tim Chase 
  Date:   Wed Jul 13 07:42:40 2016 -0500
  
  Limit the amount of dnode metadata in the ARC
  
  Metadata-intensive workloads can cause the ARC to become permanently
  filled with dnode_t objects as they're pinned by the VFS layer.
  Subsequent data-intensive workloads may only benefit from about
  25% of the potential ARC (arc_c_max - arc_meta_limit).
  
  In order to help track metadata usage more precisely, the other_size
  metadata arcstat has replaced with dbuf_size, dnode_size and bonus_size.
  
  The new zfs_arc_dnode_limit tunable, which defaults to 10% of
  zfs_arc_meta_limit, defines the minimum number of bytes which is desirable
  to be consumed by dnodes.  Attempts to evict non-metadata will trigger
  async prune tasks if the space used by dnodes exceeds this limit.
  
  The new zfs_arc_dnode_reduce_percent tunable specifies the amount by
  which the excess dnode space is attempted to be pruned as a percentage of
  the amount by which zfs_arc_dnode_limit is being exceeded.  By default,
  it tries to unpin 10% of the dnodes.
  
  The problem of dnode metadata pinning was observed with the following
  testing procedure (in this example, zfs_arc_max is set to 4GiB):
  
  - Create a large number of small files until arc_meta_used exceeds
arc_meta_limit (3GiB with default tuning) and arc_prune
starts increasing.
  
  - Create a 3GiB file with dd.  Observe arc_mata_used.  It will still
be around 3GiB.
  
  - Repeatedly read the 3GiB file and observe arc_meta_limit as before.
It will continue to stay around 3GiB.
  
  With this modification, space for the 3GiB file is gradually made
  available as subsequent demands on the ARC are made.  The previous 
behavior
  can be restored by setting zfs_arc_dnode_limit to the same value as the
  zfs_arc_meta_limit.
  
  Signed-off-by: Tim Chase 
  Signed-off-by: Brian Behlendorf 
  Issue #4345
  Issue #4512
  Issue #4773
  Closes #4858

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sat Aug 11 
19:21:53 2018(r337652)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sat Aug 11 
19:45:04 2018(r337653)
@@ -99,6 +99,14 @@
  * must use: mutex_tryenter() to avoid deadlock.  Also note that
  * the active state mutex must be held before the ghost state mutex.
  *
+ * It as also possible to register a callback which is run when the
+ * arc_meta_limit is reached and no buffers can be safely evicted.  In
+ * this case the arc user should drop a reference on some arc buffers so
+ * they can be reclaimed and the arc_meta_limit honored.  For example,
+ * when using the ZPL each dentry holds a references on a znode.  These
+ * dentries must be pruned before the arc buffer holding the znode can
+ * be safely evicted.
+ *
  * Note that the majority of the performance stats are manipulated
  * with atomic operations.
  *
@@ -367,6 +375,8 @@ uint64_t zfs_arc_max;
 uint64_t zfs_arc_min;
 uint64_t zfs_arc_meta_limit = 0;
 uint64_t zfs_arc_meta_min = 0;
+uint64_t zfs_arc_dnode_limit = 0;
+uint64_t zfs_arc_dnode_reduce_percent = 10;
 int zfs_arc_grow_retry = 0;
 int zfs_arc_shrink_shift = 0;
 int zfs_arc_no_grow_shift = 0;
@@ -624,15 +634,18 @@ typedef struct arc_stats {
 */
kstat_named_t arcstat_metadata_size;
/*
-* Number of bytes consumed by various buffers and structures
-* not actually backed with ARC buffers. This includes bonus
-* buffers (allocated directly via zio_buf_* functions),
-* dmu_buf_impl_t structures (allocated via dmu_buf_impl_t
-* cache), and dnode_t structures (allocated via dnode_t cache).
-* Not updated directly; only synced in arc_kstat_update.
+* Number of bytes consumed by dmu_buf_impl_t objects.
 */
-   kstat_named_t arcstat_other_size;
+   kstat_named_t arcstat_dbuf_size;
/*
+* Number of bytes consumed by dnode_t objects.
+*/
+   kstat_named_t arcstat_dnode_size;
+   /*
+* Number of bytes consumed by bonus buffers.
+*/
+   kstat_named_t arcstat_bonus_size;
+   /*

svn commit: r337652 - head/sys/kern

2018-08-11 Thread Alan Cox
Author: alc
Date: Sat Aug 11 19:21:53 2018
New Revision: 337652
URL: https://svnweb.freebsd.org/changeset/base/337652

Log:
  Eliminate a redundant assignment.
  
  MFC after:1 week

Modified:
  head/sys/kern/subr_vmem.c

Modified: head/sys/kern/subr_vmem.c
==
--- head/sys/kern/subr_vmem.c   Sat Aug 11 19:20:06 2018(r337651)
+++ head/sys/kern/subr_vmem.c   Sat Aug 11 19:21:53 2018(r337652)
@@ -989,7 +989,6 @@ vmem_clip(vmem_t *vm, bt_t *bt, vmem_addr_t start, vme
bt_insbusy(vm, bt);
}
MPASS(bt->bt_size >= size);
-   bt->bt_type = BT_TYPE_BUSY;
 }
 
 /*  vmem API */
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337651 - head/usr.bin/indent

2018-08-11 Thread Piotr Pawel Stefaniak
Author: pstef
Date: Sat Aug 11 19:20:06 2018
New Revision: 337651
URL: https://svnweb.freebsd.org/changeset/base/337651

Log:
  indent(1): revert r334640 and r334632
  
  While STACKSIZE macro is indeed problematic on some systems, the commits
  were wrong to shrink il[] and cstk[], because they need to be of the same
  size as p_stack[] as they're accessed with the same index ps.tos.

Modified:
  head/usr.bin/indent/indent_globs.h
  head/usr.bin/indent/parse.c

Modified: head/usr.bin/indent/indent_globs.h
==
--- head/usr.bin/indent/indent_globs.h  Sat Aug 11 17:52:58 2018
(r337650)
+++ head/usr.bin/indent/indent_globs.h  Sat Aug 11 19:20:06 2018
(r337651)
@@ -234,11 +234,13 @@ int inhibit_formatting;   /* true if INDENT OFF 
 int suppress_blanklines;/* set iff following blanklines should be
 * suppressed */
 
+#defineSTACKSIZE 256
+
 struct parser_state {
 int last_token;
-int p_stack[256];  /* this is the parsers stack */
-int il[64];/* this stack stores indentation levels 
*/
-float   cstk[32];  /* used to store case stmt indentation levels */
+int p_stack[STACKSIZE];/* this is the parsers stack */
+int il[STACKSIZE]; /* this stack stores indentation levels */
+float   cstk[STACKSIZE];/* used to store case stmt indentation levels 
*/
 int box_com;   /* set to true when we are in a "boxed"
 * comment. In that case, the first non-blank
 * char should be lined up with the / in / 
followed by * */

Modified: head/usr.bin/indent/parse.c
==
--- head/usr.bin/indent/parse.c Sat Aug 11 17:52:58 2018(r337650)
+++ head/usr.bin/indent/parse.c Sat Aug 11 19:20:06 2018(r337651)
@@ -42,12 +42,10 @@ static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/6
 #endif
 
 #include 
-#include 
 __FBSDID("$FreeBSD$");
 
 #include 
 #include 
-
 #include "indent_globs.h"
 #include "indent_codes.h"
 #include "indent.h"
@@ -211,7 +209,7 @@ parse(int tk) /* tk: the code for the construct scanne
 
 }  /* end of switch */
 
-if (ps.tos >= (int)nitems(ps.p_stack) - 1)
+if (ps.tos >= STACKSIZE - 1)
errx(1, "Parser stack overflow");
 
 reduce();  /* see if any reduction can be done */
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337649 - in head: etc etc/ntp usr.sbin/ntp/ntpd

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 17:42:42 2018
New Revision: 337649
URL: https://svnweb.freebsd.org/changeset/base/337649

Log:
  Move all NTP related files to usr.sbin/ntp/ntpd.
  
  This helps with pkgbase by using CONFS to tag these as config files.
  
  Approved by:  allanjude (mentor), ian, cy
  Sponsored by: Essen Hackathon
  Differential Revision:https://reviews.freebsd.org/D16661

Added:
  head/usr.sbin/ntp/ntpd/leap-seconds
 - copied unchanged from r337648, head/etc/ntp/leap-seconds
  head/usr.sbin/ntp/ntpd/ntp.conf
 - copied unchanged from r337648, head/etc/ntp.conf
Deleted:
  head/etc/ntp/
  head/etc/ntp.conf
Modified:
  head/etc/Makefile
  head/usr.sbin/ntp/ntpd/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 17:11:08 2018(r337648)
+++ head/etc/Makefile   Sat Aug 11 17:42:42 2018(r337649)
@@ -80,10 +80,6 @@ BIN1+=   hosts.lpd printcap
 BIN1+= ${SRCTOP}/usr.bin/mail/misc/mail.rc
 .endif
 
-.if ${MK_NTP} != "no"
-BIN1+= ntp.conf
-.endif
-
 .if ${MK_OPENSSH} != "no"
 SSH=   ${SRCTOP}/crypto/openssh/ssh_config \
${SRCTOP}/crypto/openssh/sshd_config \
@@ -175,9 +171,6 @@ distribution:
${_+_}cd ${.CURDIR}/gss; ${MAKE} install
${_+_}cd ${.CURDIR}/mtree; ${MAKE} install
${_+_}cd ${.CURDIR}/newsyslog.conf.d; ${MAKE} install
-.if ${MK_NTP} != "no"
-   ${_+_}cd ${.CURDIR}/ntp; ${MAKE} install
-.endif
${_+_}cd ${SRCTOP}/share/termcap; ${MAKE} etc-termcap
${_+_}cd ${.CURDIR}/syslog.d; ${MAKE} install
${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt

Modified: head/usr.sbin/ntp/ntpd/Makefile
==
--- head/usr.sbin/ntp/ntpd/Makefile Sat Aug 11 17:11:08 2018
(r337648)
+++ head/usr.sbin/ntp/ntpd/Makefile Sat Aug 11 17:42:42 2018
(r337649)
@@ -7,6 +7,10 @@ MAN=
 .PATH: ${SRCTOP}/contrib/ntp/ntpd \
${.OBJDIR}
 
+CONFS= ntp.conf
+FILES= leap-seconds
+FILESDIR=  /etc/ntp
+FILESMODE= 644
 PROG=  ntpd
 
 SRCS=  cmd_args.c ntp_config.c ntp_control.c ntp_crypto.c ntp_filegen.c \

Copied: head/usr.sbin/ntp/ntpd/leap-seconds (from r337648, 
head/etc/ntp/leap-seconds)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/ntp/ntpd/leap-seconds Sat Aug 11 17:42:42 2018
(r337649, copy of r337648, head/etc/ntp/leap-seconds)
@@ -0,0 +1,250 @@
+#
+#  In the following text, the symbol '#' introduces
+#  a comment, which continues from that symbol until
+#  the end of the line. A plain comment line has a
+#  whitespace character following the comment indicator.
+#  There are also special comment lines defined below.
+#  A special comment will always have a non-whitespace
+#  character in column 2.
+#
+#  A blank line should be ignored.
+#
+#  The following table shows the corrections that must
+#  be applied to compute International Atomic Time (TAI)
+#  from the Coordinated Universal Time (UTC) values that
+#  are transmitted by almost all time services.
+#
+#  The first column shows an epoch as a number of seconds
+#  since 1 January 1900, 00:00:00 (1900.0 is also used to
+#  indicate the same epoch.) Both of these time stamp formats
+#  ignore the complexities of the time scales that were
+#  used before the current definition of UTC at the start
+#  of 1972. (See note 3 below.)
+#  The second column shows the number of seconds that
+#  must be added to UTC to compute TAI for any timestamp
+#  at or after that epoch. The value on each line is
+#  valid from the indicated initial instant until the
+#  epoch given on the next one or indefinitely into the
+#  future if there is no next line.
+#  (The comment on each line shows the representation of
+#  the corresponding initial epoch in the usual
+#  day-month-year format. The epoch always begins at
+#  00:00:00 UTC on the indicated day. See Note 5 below.)
+#
+#  Important notes:
+#
+#  1. Coordinated Universal Time (UTC) is often referred to
+#  as Greenwich Mean Time (GMT). The GMT time scale is no
+#  longer used, and the use of GMT to designate UTC is
+#  discouraged.
+#
+#  2. The UTC time scale is realized by many national
+#  laboratories and timing centers. Each laboratory
+#  identifies its realization with its name: Thus
+#  UTC(NIST), UTC(USNO), etc. The differences among
+#  these different realizations are typically on the
+#  order of a few nanoseconds (i.e., 0.000 000 00x s)
+#  and can be ignored for many purposes. These differences
+#  are tabulated in Circular T, which is published monthly
+#  by the International Bureau of Weights and Measures
+#  (BIPM). See 

svn commit: r337648 - in head: etc etc/defaults etc/periodic usr.sbin/periodic usr.sbin/periodic/etc usr.sbin/periodic/etc/daily usr.sbin/periodic/etc/monthly usr.sbin/periodic/etc/security usr.sbi...

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 17:11:08 2018
New Revision: 337648
URL: https://svnweb.freebsd.org/changeset/base/337648

Log:
  Move all periodic related config and scripts to usr.sbin/periodic/
  
  This makes pkgbase easier by tagging these as CONFS so they are properly
  tagged as config files.
  
  Approved by:  will (mentor)
  Sponsored by: Essen Hackathon
  Differential Revision:https://reviews.freebsd.org/D16553

Added:
  head/usr.sbin/periodic/etc/
 - copied from r337647, head/etc/periodic/
  head/usr.sbin/periodic/periodic.conf
 - copied unchanged from r337647, head/etc/defaults/periodic.conf
Deleted:
  head/etc/defaults/periodic.conf
  head/etc/periodic/
Modified:
  head/etc/Makefile
  head/etc/defaults/Makefile
  head/usr.sbin/periodic/Makefile
  head/usr.sbin/periodic/etc/Makefile.inc
  head/usr.sbin/periodic/etc/daily/Makefile
  head/usr.sbin/periodic/etc/monthly/Makefile
  head/usr.sbin/periodic/etc/security/Makefile
  head/usr.sbin/periodic/etc/weekly/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 16:41:08 2018(r337647)
+++ head/etc/Makefile   Sat Aug 11 17:11:08 2018(r337648)
@@ -178,7 +178,6 @@ distribution:
 .if ${MK_NTP} != "no"
${_+_}cd ${.CURDIR}/ntp; ${MAKE} install
 .endif
-   ${_+_}cd ${.CURDIR}/periodic; ${MAKE} install
${_+_}cd ${SRCTOP}/share/termcap; ${MAKE} etc-termcap
${_+_}cd ${.CURDIR}/syslog.d; ${MAKE} install
${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt

Modified: head/etc/defaults/Makefile
==
--- head/etc/defaults/Makefile  Sat Aug 11 16:41:08 2018(r337647)
+++ head/etc/defaults/Makefile  Sat Aug 11 17:11:08 2018(r337648)
@@ -2,7 +2,7 @@
 
 .include 
 
-FILES= devfs.rules periodic.conf
+FILES= devfs.rules
 FILESDIR= /etc/defaults
 
 .if ${MK_BLUETOOTH} != "no"

Modified: head/usr.sbin/periodic/Makefile
==
--- head/usr.sbin/periodic/Makefile Sat Aug 11 16:41:08 2018
(r337647)
+++ head/usr.sbin/periodic/Makefile Sat Aug 11 17:11:08 2018
(r337648)
@@ -1,6 +1,10 @@
 # $FreeBSD$
 
+FILES= periodic.conf
+FILESDIR=  /etc/defaults
 SCRIPTS=periodic.sh
 MAN=   periodic.8
+
+SUBDIR=etc
 
 .include 

Modified: head/usr.sbin/periodic/etc/Makefile.inc
==
--- head/etc/periodic/Makefile.inc  Sat Aug 11 16:41:08 2018
(r337647)
+++ head/usr.sbin/periodic/etc/Makefile.inc Sat Aug 11 17:11:08 2018
(r337648)
@@ -1,5 +1,6 @@
 # $FreeBSD$
 
-BINDIR=/etc/periodic/${.CURDIR:T}
+CONFMODE=  755
+CONFDIR=   ETC_PERIODIC_${.CURDIR:T:U}
+ETC_PERIODIC_${.CURDIR:T:U}=   /etc/periodic/${.CURDIR:T}
 NO_OBJ=
-FILESMODE= 755

Modified: head/usr.sbin/periodic/etc/daily/Makefile
==
--- head/etc/periodic/daily/MakefileSat Aug 11 16:41:08 2018
(r337647)
+++ head/usr.sbin/periodic/etc/daily/Makefile   Sat Aug 11 17:11:08 2018
(r337648)
@@ -2,9 +2,9 @@
 
 .include 
 
-FILESGROUPS=FILES
+CONFGROUPS=CONFS
 
-FILES= 100.clean-disks \
+CONFS= 100.clean-disks \
110.clean-tmps \
120.clean-preserve \
140.clean-rwho \
@@ -27,35 +27,34 @@ FILES=  100.clean-disks \
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_ACCT} != "no"
-FILESGROUPS+=  ACCT
+CONFGROUPS+=   ACCT
 ACCT+= 310.accounting
-.endif
-ACCTDIR=   /etc/periodic/daily
 ACCTMODE=  ${BINMODE}
 ACCTPACKAGE=   acct
+.endif
 
 .if ${MK_CALENDAR} != "no"
-FILES+=300.calendar
+CONFS+=300.calendar
 .endif
 
 .if ${MK_MAIL} != "no"
-FILES+=130.clean-msgs
+CONFS+=130.clean-msgs
 .endif
 
 .if ${MK_NTP} != "no"
-FILES+=480.status-ntpd \
+CONFS+=480.status-ntpd \
480.leapfile-ntpd
 .endif
 
 .if ${MK_SENDMAIL} != "no"
-FILES+=150.clean-hoststat \
+CONFS+=150.clean-hoststat \
440.status-mailq \
460.status-mail-rejects \
500.queuerun
 .endif
 
 .if ${MK_ZFS} != "no"
-FILES+=404.status-zfs \
+CONFS+=404.status-zfs \
800.scrub-zfs
 .endif
 

Modified: head/usr.sbin/periodic/etc/monthly/Makefile
==
--- head/etc/periodic/monthly/Makefile  Sat Aug 11 16:41:08 2018
(r337647)
+++ head/usr.sbin/periodic/etc/monthly/Makefile Sat Aug 11 17:11:08 2018
(r337648)
@@ -2,19 +2,19 @@
 
 .include 
 
-FILESGROUPS=FILES
+CONFGROUPS=CONFS
 
-FILES= 450.status-security \
+CONFS= 450.status-security \
999.local
 
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_UTMPX} != "no"
-FILESGROUPS+=  ACCT
+CONFGROUPS+=   ACCT
 ACCT+= 

Re: svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Devin Teske


> On Aug 11, 2018, at 9:09 AM, Brad Davis  wrote:
> 
>> On Sat, Aug 11, 2018, at 7:06 AM, Kristof Provost wrote:
>> Hi Devin,
>>> On 11 Aug 2018, at 8:32, Devin Teske wrote:
>>> Author: dteske
>>> Date: Sat Aug 11 06:32:31 2018
>>> New Revision: 337611
>>> URL: https://svnweb.freebsd.org/changeset/base/337611
>>> 
>>> Log:
>>> dwatch(1): Add systop profile
>>> 
>>> Provides a top-like view of syscall consumers.
>>> 
>>> MFC after:3 days
>>> X-MFC-to:stable/11
>>> Sponsored by:Smule, Inc.
>>> 
>>> Added:
>>> head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props changed)
>>> Modified:
>>> head/cddl/usr.sbin/dwatch/libexec/Makefile
>>> 
>>> Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
>>> ==
>>> --- head/cddl/usr.sbin/dwatch/libexec/MakefileSat Aug 11 06:13:11 2018  
>>>   (r337610)
>>> +++ head/cddl/usr.sbin/dwatch/libexec/MakefileSat Aug 11 06:32:31 2018  
>>>   (r337611)
>>> @@ -62,6 +62,7 @@ LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dw
>>> LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
>>> LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
>>> LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
>>> +LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
>> This breaks install world:
>> install: link 
>> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop -> 
>> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop: No 
>> such file or directory
> 
> Hi Devin,
> 
> I committed a fix in r337629 to just install systop, since that seems to be 
> what you meant.. If not, please let me know and I would be happy to help 
> correct that.
> 
> 

Thanks!

Silly me, the brain was not cooperating.

Modified the wrong aspect of the Makefile.
— 
Devin

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r337629 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Devin Teske
Thanks.

Maybe no more commits on Friday evenings close to midnight.

Sent from my iPhone

> On Aug 11, 2018, at 9:06 AM, Brad Davis  wrote:
> 
> Author: brd
> Date: Sat Aug 11 16:06:32 2018
> New Revision: 337629
> URL: https://svnweb.freebsd.org/changeset/base/337629
> 
> Log:
>  Fix the build by just installing systop since testing shows it works with:
> 
>  dwatch -X systop
> 
>  Reviewed by:kp
>  Approved by:allanjude (mentor)
> 
> Modified:
>  head/cddl/usr.sbin/dwatch/libexec/Makefile
> 
> Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
> ==
> --- head/cddl/usr.sbin/dwatch/libexec/MakefileSat Aug 11 14:45:33 2018
> (r337628)
> +++ head/cddl/usr.sbin/dwatch/libexec/MakefileSat Aug 11 16:06:32 2018
> (r337629)
> @@ -12,6 +12,7 @@ FILES=chmod \
>rw \
>sched \
>sendrecv \
> +systop \
>tcp \
>udp \
>udplite \
> @@ -62,7 +63,6 @@ LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dw
> LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
> LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
> LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
> -LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
> LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept
> LINKS+=${LIBEXECDIR}/dwatch/tcp 
> ${LIBEXECDIR}/dwatch/tcp-accept-established
> LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-refused
> 

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Cy Schubert
In message <2a5ddbe0-5a97-4b78-8a1e-5b1e11ae1...@freebsd.org>, "Kristof 
Provost
" writes:
> 
> --=_MailMate_37784F8A-DF73-4094-A86C-D7C2EF0CB551_=
> Content-Type: text/plain; charset=utf-8; format=flowed
> Content-Transfer-Encoding: 8bit
>
> On 11 Aug 2018, at 18:30, Cy Schubert wrote:
> > In message , 
> > "Kristof
> > Provost
> > " writes:
> >>
> >> --=_MailMate_CF172F01-6AF0-4E9D-A175-454A09953300_=
> >> Content-Type: text/plain; format=flowed
> >>
> >> Hi Devin,
> >>
> >> On 11 Aug 2018, at 8:32, Devin Teske wrote:
> >>> Author: dteske
> >>> Date: Sat Aug 11 06:32:31 2018
> >>> New Revision: 337611
> >>> URL: https://svnweb.freebsd.org/changeset/base/337611
> >>>
> >>> Log:
> >>>   dwatch(1): Add systop profile
> >>>
> >>>   Provides a top-like view of syscall consumers.
> >>>
> >>>   MFC after:  3 days
> >>>   X-MFC-to:   stable/11
> >>>   Sponsored by:   Smule, Inc.
> >>>
> >>> Added:
> >>>   head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props 
> >>> changed)
> >>> Modified:
> >>>   head/cddl/usr.sbin/dwatch/libexec/Makefile
> >>>
> >>> Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
> >>> =
> ==
> >> ===
> >>> --- head/cddl/usr.sbin/dwatch/libexec/MakefileSat Aug 11 06:13:11
> >>> 2018  (r337610)
> >>> +++ head/cddl/usr.sbin/dwatch/libexec/MakefileSat Aug 11 06:32:31
> >>> 2018  (r337611)
> >>> @@ -62,6 +62,7 @@ LINKS+= ${LIBEXECDIR}/dwatch/sendrecv
> >>> ${LIBEXECDIR}/dw
> >>>  LINKS+=  ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
> >>>  LINKS+=  ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
> >>>  LINKS+=  ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
> >>> +LINKS+=  ${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
> >>
> >> This breaks install world:
> >> install: link
> >> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop
> >> ->
> >> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop:
> >> No such file or directory
> >>
> >> Regards,
> >> Kristof
> >
> > Hi Kristof,
> >
> > This should get you going.
> >
> > Index: /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile
> > ===
> > --- /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile  
> > (revision 337628)
> > +++ 
> > /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile  (working
> > copy)
> > @@ -12,6 +12,7 @@
> > rw \
> > sched \
> > sendrecv \
> > +   systop \
> > tcp \
> > udp \
> > udplite \
> > @@ -62,7 +63,6 @@
> >  LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
> >  LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
> >  LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
> > -LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
> >  LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept
> >  LINKS+=${LIBEXECDIR}/dwatch/tcp 
> > ${LIBEXECDIR}/dwatch/tcp-accept-establ
> > ished
> >  LINKS+=${LIBEXECDIR}/dwatch/tcp 
> > ${LIBEXECDIR}/dwatch/tcp-accept-refuse
> > d
> >
> Thanks for the pointer.
> Brad’s fixed it meanwhile.

I see. I'm a bit behind on my email. Thanks Brad.


-- 
Cheers,
Cy Schubert 
FreeBSD UNIX: Web:  http://www.FreeBSD.org

The need of the many outweighs the greed of the few.


___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337646 - head/tests/sys/netpfil/pf

2018-08-11 Thread Kristof Provost
Author: kp
Date: Sat Aug 11 16:41:07 2018
New Revision: 337646
URL: https://svnweb.freebsd.org/changeset/base/337646

Log:
  pf tests: Basic test for 'set skip in $groupname'
  
  This tests for the problem reported in PR 229241, where using a group
  name in 'set skip on' did not work as expected.
  
  Sponsored by: Essen Hackathon

Added:
  head/tests/sys/netpfil/pf/set_skip.sh   (contents, props changed)
Modified:
  head/tests/sys/netpfil/pf/Makefile

Modified: head/tests/sys/netpfil/pf/Makefile
==
--- head/tests/sys/netpfil/pf/Makefile  Sat Aug 11 16:40:03 2018
(r337645)
+++ head/tests/sys/netpfil/pf/Makefile  Sat Aug 11 16:41:07 2018
(r337646)
@@ -10,7 +10,8 @@ ATF_TESTS_SH+=pass_block \
fragmentation \
set_tos \
route_to \
-   synproxy
+   synproxy \
+   set_skip
 
 ${PACKAGE}FILES+=  utils.subr \
echo_inetd.conf \

Added: head/tests/sys/netpfil/pf/set_skip.sh
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/tests/sys/netpfil/pf/set_skip.sh   Sat Aug 11 16:41:07 2018
(r337646)
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+. $(atf_get_srcdir)/utils.subr
+
+atf_test_case "set_skip_group" "cleanup"
+set_skip_group_head()
+{
+   atf_set descr 'Basic set skip test'
+   atf_set require.user root
+}
+
+set_skip_group_body()
+{
+   # See PR 229241
+   pft_init
+
+   pft_mkjail alcatraz
+   jexec alcatraz ifconfig lo0 127.0.0.1/8 up
+   jexec alcatraz ifconfig lo0 group foo
+   jexec alcatraz pfctl -e
+   pft_set_rules alcatraz "set skip on foo" \
+   "block in proto icmp"
+
+   jexec alcatraz ifconfig
+   atf_check -s exit:0 -o ignore jexec alcatraz ping -c 1 127.0.0.1
+}
+
+set_skip_group_cleanup()
+{
+   pft_cleanup
+}
+
+atf_init_test_cases()
+{
+   atf_add_test_case "set_skip_group"
+}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337644 - head/sys/netpfil/pf

2018-08-11 Thread Kristof Provost
Author: kp
Date: Sat Aug 11 16:37:55 2018
New Revision: 337644
URL: https://svnweb.freebsd.org/changeset/base/337644

Log:
  pf: Take the IF_ADDR_RLOCK() when iterating over the group list
  
  We did do this elsewhere in pf, but the lock was missing here.
  
  Sponsored by: Essen Hackathon

Modified:
  head/sys/netpfil/pf/pf_if.c

Modified: head/sys/netpfil/pf/pf_if.c
==
--- head/sys/netpfil/pf/pf_if.c Sat Aug 11 16:34:30 2018(r337643)
+++ head/sys/netpfil/pf/pf_if.c Sat Aug 11 16:37:55 2018(r337644)
@@ -297,11 +297,16 @@ pfi_kif_match(struct pfi_kif *rule_kif, struct pfi_kif
if (rule_kif == NULL || rule_kif == packet_kif)
return (1);
 
-   if (rule_kif->pfik_group != NULL)
-   /* XXXGL: locking? */
+   if (rule_kif->pfik_group != NULL) {
+   IF_ADDR_RLOCK(packet_kif->pfik_ifp);
CK_STAILQ_FOREACH(p, _kif->pfik_ifp->if_groups, 
ifgl_next)
-   if (p->ifgl_group == rule_kif->pfik_group)
+   if (p->ifgl_group == rule_kif->pfik_group) {
+   IF_ADDR_RUNLOCK(packet_kif->pfik_ifp);
return (1);
+   }
+   IF_ADDR_RUNLOCK(packet_kif->pfik_ifp);
+   }
+
 
return (0);
 }
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337643 - head/sys/netpfil/pf

2018-08-11 Thread Kristof Provost
Author: kp
Date: Sat Aug 11 16:34:30 2018
New Revision: 337643
URL: https://svnweb.freebsd.org/changeset/base/337643

Log:
  pf: Fix 'set skip on' for groups
  
  The pfi_skip_if() function sometimes caused skipping of groups to work,
  if the members of the group used the groupname as a name prefix.
  This is often the case, e.g. group lo usually contains lo0, lo1, ...,
  but not always.
  
  Rather than relying on the name explicitly check for group memberships.
  
  Obtained from:OpenBSD (pf_if.c,v 1.62, pf_if.c,v 1.63)
  Sponsored by: Essen Hackathon

Modified:
  head/sys/netpfil/pf/pf_if.c

Modified: head/sys/netpfil/pf/pf_if.c
==
--- head/sys/netpfil/pf/pf_if.c Sat Aug 11 16:30:06 2018(r337642)
+++ head/sys/netpfil/pf/pf_if.c Sat Aug 11 16:34:30 2018(r337643)
@@ -735,6 +735,7 @@ pfi_get_ifaces(const char *name, struct pfi_kif *buf, 
 static int
 pfi_skip_if(const char *filter, struct pfi_kif *p)
 {
+   struct ifg_list *i;
int n;
 
if (filter == NULL || !*filter)
@@ -745,10 +746,19 @@ pfi_skip_if(const char *filter, struct pfi_kif *p)
if (n < 1 || n >= IFNAMSIZ)
return (1); /* sanity check */
if (filter[n-1] >= '0' && filter[n-1] <= '9')
-   return (1); /* only do exact match in that case */
-   if (strncmp(p->pfik_name, filter, n))
-   return (1); /* prefix doesn't match */
-   return (p->pfik_name[n] < '0' || p->pfik_name[n] > '9');
+   return (1); /* group names may not end in a digit */
+   if (p->pfik_ifp != NULL) {
+   IF_ADDR_RLOCK(p->pfik_ifp);
+   CK_STAILQ_FOREACH(i, >pfik_ifp->if_groups, ifgl_next) {
+   if (!strncmp(i->ifgl_group->ifg_group, filter,
+ IFNAMSIZ)) {
+   IF_ADDR_RUNLOCK(p->pfik_ifp);
+   return (0); /* iface is in group "filter" */
+   }
+   }
+   IF_ADDR_RUNLOCK(p->pfik_ifp);
+   }
+   return (1);
 }
 
 int
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Kristof Provost

On 11 Aug 2018, at 18:30, Cy Schubert wrote:
In message , 
"Kristof

Provost
" writes:


--=_MailMate_CF172F01-6AF0-4E9D-A175-454A09953300_=
Content-Type: text/plain; format=flowed

Hi Devin,

On 11 Aug 2018, at 8:32, Devin Teske wrote:

Author: dteske
Date: Sat Aug 11 06:32:31 2018
New Revision: 337611
URL: https://svnweb.freebsd.org/changeset/base/337611

Log:
  dwatch(1): Add systop profile

  Provides a top-like view of syscall consumers.

  MFC after:3 days
  X-MFC-to: stable/11
  Sponsored by: Smule, Inc.

Added:
  head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props 
changed)

Modified:
  head/cddl/usr.sbin/dwatch/libexec/Makefile

Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
===

===

--- head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:13:11
2018(r337610)
+++ head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:32:31
2018(r337611)
@@ -62,6 +62,7 @@ LINKS+=   ${LIBEXECDIR}/dwatch/sendrecv
${LIBEXECDIR}/dw
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
+LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop


This breaks install world:
install: link
/usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop
->
/usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop:
No such file or directory

Regards,
Kristof


Hi Kristof,

This should get you going.

Index: /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile
===
--- /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile  
(revision 337628)
+++ 
/opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile	(working

copy)
@@ -12,6 +12,7 @@
rw \
sched \
sendrecv \
+   systop \
tcp \
udp \
udplite \
@@ -62,7 +63,6 @@
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
-LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept
 LINKS+=	${LIBEXECDIR}/dwatch/tcp 
${LIBEXECDIR}/dwatch/tcp-accept-establ

ished
 LINKS+=	${LIBEXECDIR}/dwatch/tcp 
${LIBEXECDIR}/dwatch/tcp-accept-refuse

d


Thanks for the pointer.
Brad’s fixed it meanwhile.

Regards,
Kristof
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Cy Schubert
In message , "Kristof 
Provost
" writes:
> 
> --=_MailMate_CF172F01-6AF0-4E9D-A175-454A09953300_=
> Content-Type: text/plain; format=flowed
>
> Hi Devin,
>
> On 11 Aug 2018, at 8:32, Devin Teske wrote:
> > Author: dteske
> > Date: Sat Aug 11 06:32:31 2018
> > New Revision: 337611
> > URL: https://svnweb.freebsd.org/changeset/base/337611
> >
> > Log:
> >   dwatch(1): Add systop profile
> >
> >   Provides a top-like view of syscall consumers.
> >
> >   MFC after:3 days
> >   X-MFC-to: stable/11
> >   Sponsored by: Smule, Inc.
> >
> > Added:
> >   head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props changed)
> > Modified:
> >   head/cddl/usr.sbin/dwatch/libexec/Makefile
> >
> > Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
> > ===
> ===
> > --- head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:13:11 
> > 2018(r337610)
> > +++ head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:32:31 
> > 2018(r337611)
> > @@ -62,6 +62,7 @@ LINKS+=   ${LIBEXECDIR}/dwatch/sendrecv 
> > ${LIBEXECDIR}/dw
> >  LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
> >  LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
> >  LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
> > +LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
>
> This breaks install world:
> install: link 
> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop 
> -> 
> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop: 
> No such file or directory
>
> Regards,
> Kristof

Hi Kristof,

This should get you going.

Index: /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile
===
--- /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile  
(revision 337628)
+++ /opt/src/svn-current/cddl/usr.sbin/dwatch/libexec/Makefile  (working 
copy)
@@ -12,6 +12,7 @@
rw \
sched \
sendrecv \
+   systop \
tcp \
udp \
udplite \
@@ -62,7 +63,6 @@
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
-LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-establ
ished
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-refuse
d



-- 
Cheers,
Cy Schubert 
FreeBSD UNIX: Web:  http://www.FreeBSD.org

The need of the many outweighs the greed of the few.



___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337638 - head/usr.bin/at

2018-08-11 Thread Alexander Leidinger
Author: netchild
Date: Sat Aug 11 16:29:54 2018
New Revision: 337638
URL: https://svnweb.freebsd.org/changeset/base/337638

Log:
   - Correct the description when jobs are executed related to load avg
 to match reality (slightly different to what was submitted in the
 PR: use english word instead of math-symbol).
   - Wrap the corresponding part to below 80 characters per line.
  
  Submitted by: yam...@yamagi.org
  PR:   202202
  Sponsored by: Essen Hackathon

Modified:
  head/usr.bin/at/at.man

Modified: head/usr.bin/at/at.man
==
--- head/usr.bin/at/at.man  Sat Aug 11 16:29:51 2018(r337637)
+++ head/usr.bin/at/at.man  Sat Aug 11 16:29:54 2018(r337638)
@@ -1,5 +1,5 @@
 .\" $FreeBSD$
-.Dd June 1, 2018
+.Dd August 11, 2018
 .Dt "AT" 1
 .Os
 .Sh NAME
@@ -64,8 +64,9 @@ case, everybody's jobs are listed;
 .It Nm atrm
 deletes jobs;
 .It Nm batch
-executes commands when system load levels permit; in other words, when the 
load average
-drops below _LOADAVG_MX, or the value specified in the invocation of
+executes commands when system load levels permit; in other words, when
+the load average drops below _LOADAVG_MX times number of active CPUs,
+or the value specified in the invocation of
 .Nm atrun .
 .El
 .Pp
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337630 - head/sbin/restore

2018-08-11 Thread Alexander Leidinger
Author: netchild
Date: Sat Aug 11 16:12:23 2018
New Revision: 337630
URL: https://svnweb.freebsd.org/changeset/base/337630

Log:
  Re-enable reading byte swapped NFS_MAGIC dumps.
  
  Fix bug introduced in r98542: previously to this revision the byte-swapped
  value was compared at this place. The current check is in a conditional
  section where the non-byte-swapped value was already checked to be not
  the value which is checked again. As byte-swapping is activated afterwards,
  it only makes sense if the byte-swapped value is checked.
  
  Submitted by: Keith White 
  PR:   200059
  MFC after:1 month
  Sponsored by: Essen Hackathon

Modified:
  head/sbin/restore/tape.c

Modified: head/sbin/restore/tape.c
==
--- head/sbin/restore/tape.cSat Aug 11 16:06:32 2018(r337629)
+++ head/sbin/restore/tape.cSat Aug 11 16:12:23 2018(r337630)
@@ -1314,8 +1314,8 @@ gethead(struct s_spcl *buf)
return (FAIL);
}
if (swabl(buf->c_magic) != FS_UFS2_MAGIC &&
-   buf->c_magic != NFS_MAGIC) {
-   if (buf->c_magic == OFS_MAGIC) {
+   swabl(buf->c_magic) != NFS_MAGIC) {
+   if (swabl(buf->c_magic) == OFS_MAGIC) {
fprintf(stderr,
  "Format of dump tape is too old. Must use\n");
fprintf(stderr,
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Brad Davis
On Sat, Aug 11, 2018, at 7:06 AM, Kristof Provost wrote:
> Hi Devin,
> On 11 Aug 2018, at 8:32, Devin Teske wrote:
>> Author: dteske
>>  Date: Sat Aug 11 06:32:31 2018
>>  New Revision: 337611
>>  URL: https://svnweb.freebsd.org/changeset/base/337611
>>  
>>  Log:
>>  dwatch(1): Add systop profile
>>  
>>  Provides a top-like view of syscall consumers.
>>  
>>  MFC after:  3 days
>>  X-MFC-to:   stable/11
>>  Sponsored by:   Smule, Inc.
>>  
>>  Added:
>>  head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props changed)
>>  Modified:
>>  head/cddl/usr.sbin/dwatch/libexec/Makefile
>>  
>>  Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
>>  
>> ==
>>  --- head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:13:11 
>> 2018(r337610)
>>  +++ head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:32:31 
>> 2018(r337611)
>>  @@ -62,6 +62,7 @@ LINKS+=   ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dw
>>  LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
>>  LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
>>  LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
>>  +LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
> This breaks install world:
>  install: link 
> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop -> 
> /usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop: No 
> such file or directory

Hi Devin,

I committed a fix in r337629 to just install systop, since that seems to be 
what you meant.. If not, please let me know and I would be happy to help 
correct that.


Regards,
Brad Davis
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337629 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 16:06:32 2018
New Revision: 337629
URL: https://svnweb.freebsd.org/changeset/base/337629

Log:
  Fix the build by just installing systop since testing shows it works with:
  
  dwatch -X systop
  
  Reviewed by:  kp
  Approved by:  allanjude (mentor)

Modified:
  head/cddl/usr.sbin/dwatch/libexec/Makefile

Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
==
--- head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 14:45:33 2018
(r337628)
+++ head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 16:06:32 2018
(r337629)
@@ -12,6 +12,7 @@ FILES=chmod \
rw \
sched \
sendrecv \
+   systop \
tcp \
udp \
udplite \
@@ -62,7 +63,6 @@ LINKS+=   ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dw
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
-LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept
 LINKS+=${LIBEXECDIR}/dwatch/tcp 
${LIBEXECDIR}/dwatch/tcp-accept-established
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-refused
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337628 - head/usr.sbin/bsdinstall/scripts

2018-08-11 Thread Kevin Lo
Author: kevlo
Date: Sat Aug 11 14:45:33 2018
New Revision: 337628
URL: https://svnweb.freebsd.org/changeset/base/337628

Log:
  Remove unused MAPDESCFILE.

Modified:
  head/usr.sbin/bsdinstall/scripts/keymap

Modified: head/usr.sbin/bsdinstall/scripts/keymap
==
--- head/usr.sbin/bsdinstall/scripts/keymap Sat Aug 11 13:58:26 2018
(r337627)
+++ head/usr.sbin/bsdinstall/scripts/keymap Sat Aug 11 14:45:33 2018
(r337628)
@@ -43,11 +43,6 @@ f_include $BSDCFG_SHARE/sysrc.subr
 #
 : ${KEYMAPFILE:=$BSDINSTALL_TMPETC/rc.conf.keymap}
 
-#
-# Default path to keymap INDEX containing descriptions
-#
-: ${MAPDESCFILE:=/usr/share/syscons/keymaps/INDEX.keymaps}
-
  GLOBALS
 
 #
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337627 - in head: etc sbin/pfctl

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 13:58:26 2018
New Revision: 337627
URL: https://svnweb.freebsd.org/changeset/base/337627

Log:
  Move pf.os to sbin/pfctl/
  
  Approved by:  will (mentor)
  Glanced at by:kp
  Sponsored by: Essen Hackathon
  Differential Revision:https://reviews.freebsd.org/D16557

Added:
  head/sbin/pfctl/pf.os
 - copied unchanged from r337626, head/etc/pf.os
Deleted:
  head/etc/pf.os
Modified:
  head/etc/Makefile
  head/sbin/pfctl/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 13:52:23 2018(r337626)
+++ head/etc/Makefile   Sat Aug 11 13:58:26 2018(r337627)
@@ -93,10 +93,6 @@ SSH= ${SRCTOP}/crypto/openssh/ssh_config \
 SSL=   ${SRCTOP}/crypto/openssl/apps/openssl.cnf
 .endif
 
-.if ${MK_PF} != "no"
-BIN1+= pf.os
-.endif
-
 .if ${MK_SENDMAIL} != "no"
 BIN1+= rc.sendmail
 .endif

Modified: head/sbin/pfctl/Makefile
==
--- head/sbin/pfctl/MakefileSat Aug 11 13:52:23 2018(r337626)
+++ head/sbin/pfctl/MakefileSat Aug 11 13:58:26 2018(r337627)
@@ -6,6 +6,7 @@
 .PATH: ${SRCTOP}/sys/netpfil/pf
 
 PACKAGE=pf
+CONFS= pf.os
 PROG=  pfctl
 MAN=   pfctl.8
 

Copied: head/sbin/pfctl/pf.os (from r337626, head/etc/pf.os)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sbin/pfctl/pf.os   Sat Aug 11 13:58:26 2018(r337627, copy 
of r337626, head/etc/pf.os)
@@ -0,0 +1,709 @@
+# $FreeBSD$
+# $OpenBSD: pf.os,v 1.27 2016/09/03 17:08:57 sthen Exp $
+# passive OS fingerprinting
+# -
+#
+# SYN signatures. Those signatures work for SYN packets only (duh!).
+#
+# (C) Copyright 2000-2003 by Michal Zalewski 
+# (C) Copyright 2003 by Mike Frantzen 
+#
+#  Permission to use, copy, modify, and distribute this software for any
+#  purpose with or without fee is hereby granted, provided that the above
+#  copyright notice and this permission notice appear in all copies.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+#  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+#  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+#  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+#  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+#  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+#  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+#
+# This fingerprint database is adapted from Michal Zalewski's p0f passive
+# operating system package.  The last database sync was from a Nov 3 2003
+# p0f.fp.
+#
+#
+# Each line in this file specifies a single fingerprint. Please read the
+# information below carefully before attempting to append any signatures
+# reported as UNKNOWN to this file to avoid mistakes.
+#
+# We use the following set metrics for fingerprinting:
+#
+# - Window size (WSS) - a highly OS dependent setting used for TCP/IP
+#   performance control (max. amount of data to be sent without ACK).
+#   Some systems use a fixed value for initial packets. On other
+#   systems, it is a multiple of MSS or MTU (MSS+40). In some rare
+#   cases, the value is just arbitrary.
+#
+#   NEW SIGNATURE: if p0f reported a special value of 'Snn', the number
+#   appears to be a multiple of MSS (MSS*nn); a special value of 'Tnn'
+#   means it is a multiple of MTU ((MSS+40)*nn). Unless you notice the
+#   value of nn is not fixed (unlikely), just copy the Snn or Tnn token
+#   literally. If you know this device has a simple stack and a fixed
+#   MTU, you can however multiply S value by MSS, or T value by MSS+40,
+#   and put it instead of Snn or Tnn.
+#
+#   If WSS otherwise looks like a fixed value (for example a multiple
+#   of two), or if you can confirm the value is fixed, please quote
+#   it literally. If there's no apparent pattern in WSS chosen, you
+#   should consider wildcarding this value.
+#
+# - Overall packet size - a function of all IP and TCP options and bugs.
+#
+#   NEW SIGNATURE: Copy this value literally.
+#
+# - Initial TTL - We check the actual TTL of a received packet. It can't
+#   be higher than the initial TTL, and also shouldn't be dramatically
+#   lower (maximum distance is defined as 40 hops).
+#
+#   NEW SIGNATURE: *Never* copy TTL from a p0f-reported signature literally.
+#   You need to determine the initial TTL. The best way to do it is to
+#   check the documentation for a remote system, or check its settings.
+#   A fairly good method is to simply round the observed TTL up to
+#   32, 64, 128, or 255, but it should be noted that some obscure devices
+#   might not use round TTLs (in particular, some shoddy appliances use
+#   "original" initial TTL settings). If not sure, you 

svn commit: r337626 - in head: etc etc/cron.d usr.bin/at

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 13:52:23 2018
New Revision: 337626
URL: https://svnweb.freebsd.org/changeset/base/337626

Log:
  Move cron.d/at to usr.bin/at/
  
  This helps with pkgbase as it tags this as a config file so it is handled as
  such
  
  Approved by:  allanjude (mentor)
  Sponsored by: Essen Hackathon
  Differential Revision:https://reviews.freebsd.org/D16673

Added:
  head/usr.bin/at/atrun
 - copied unchanged from r337625, head/etc/cron.d/at
Deleted:
  head/etc/cron.d/
Modified:
  head/etc/Makefile
  head/usr.bin/at/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 13:47:28 2018(r337625)
+++ head/etc/Makefile   Sat Aug 11 13:52:23 2018(r337626)
@@ -174,7 +174,6 @@ distribution:
 .if ${MK_BLUETOOTH} != "no"
${_+_}cd ${.CURDIR}/bluetooth; ${MAKE} install
 .endif
-   ${_+_}cd ${.CURDIR}/cron.d; ${MAKE} install
${_+_}cd ${.CURDIR}/defaults; ${MAKE} install
${_+_}cd ${.CURDIR}/devd; ${MAKE} install
${_+_}cd ${.CURDIR}/gss; ${MAKE} install

Modified: head/usr.bin/at/Makefile
==
--- head/usr.bin/at/MakefileSat Aug 11 13:47:28 2018(r337625)
+++ head/usr.bin/at/MakefileSat Aug 11 13:52:23 2018(r337626)
@@ -2,6 +2,9 @@
 
 .include "${.CURDIR}/Makefile.inc"
 
+CONFS= atrun
+CONFSDIR=  /etc/cron.d
+CONFSNAME= at
 PROG=  at
 SRCS=  at.c panic.c parsetime.c perm.c
 LINKS= ${BINDIR}/at ${BINDIR}/atq \

Copied: head/usr.bin/at/atrun (from r337625, head/etc/cron.d/at)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.bin/at/atrun   Sat Aug 11 13:52:23 2018(r337626, copy 
of r337625, head/etc/cron.d/at)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+#
+SHELL=/bin/sh
+PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
+
+# See crontab(5) for field format.
+*/5*   *   *   *   root/usr/libexec/atrun
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337625 - in head: etc usr.sbin/bsnmpd/bsnmpd

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 13:47:28 2018
New Revision: 337625
URL: https://svnweb.freebsd.org/changeset/base/337625

Log:
  Move snmpd.config to usr.sbin/bsnmpd/bsnmpd/
  
  This helps with pkgbase as this config file will now be tagged as a config
  file
  
  Approved by:  allanjude (mentor)
  Sponsored by: Essen Hackathon
  Differential Revision:https://reviews.freebsd.org/D16674

Added:
  head/usr.sbin/bsnmpd/bsnmpd/snmpd.config
 - copied unchanged from r337624, head/etc/snmpd.config
Deleted:
  head/etc/snmpd.config
Modified:
  head/etc/Makefile
  head/usr.sbin/bsnmpd/bsnmpd/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 13:28:03 2018(r337624)
+++ head/etc/Makefile   Sat Aug 11 13:47:28 2018(r337625)
@@ -158,11 +158,6 @@ distribution:
${DESTDIR}/etc/services;
 .endif
 
-.if ${MK_BSNMP} != "no"
-   cd ${.CURDIR}; \
-   ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \
-   snmpd.config ${DESTDIR}/etc;
-.endif
 .if ${MK_TCSH} == "no"
sed -i "" -e 's;/bin/csh;/bin/sh;' ${DESTDIR}/etc/master.passwd
 .endif

Modified: head/usr.sbin/bsnmpd/bsnmpd/Makefile
==
--- head/usr.sbin/bsnmpd/bsnmpd/MakefileSat Aug 11 13:28:03 2018
(r337624)
+++ head/usr.sbin/bsnmpd/bsnmpd/MakefileSat Aug 11 13:47:28 2018
(r337625)
@@ -7,6 +7,8 @@
 CONTRIB=${SRCTOP}/contrib/bsnmp
 .PATH: ${CONTRIB}/snmpd
 
+CONFS= snmpd.config
+CONFSMODE= 600
 PROG=  bsnmpd
 SRCS=  main.c action.c config.c export.c trap.c trans_udp.c trans_lsock.c
 SRCS+= oid.h tree.c tree.h

Copied: head/usr.sbin/bsnmpd/bsnmpd/snmpd.config (from r337624, 
head/etc/snmpd.config)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/bsnmpd/bsnmpd/snmpd.configSat Aug 11 13:47:28 2018
(r337625, copy of r337624, head/etc/snmpd.config)
@@ -0,0 +1,322 @@
+# $FreeBSD$
+#
+# Example configuration file for bsnmpd(1).
+#
+
+#
+# Set some common variables
+#
+location := "Room 200"
+contact := "sysmeis...@example.com"
+system := 1# FreeBSD
+traphost := localhost
+trapport := 162
+
+#
+# Set the SNMP engine ID.
+#
+# The snmpEngineID object required from the SNMPv3 Framework. If not 
explicitly set via
+# this configuration file, an ID is assigned based on the value of the
+# kern.hostid variable
+# engine := 0x80:0x10:0x08:0x10:0x80:0x25
+# snmpEngineID = $(engine)
+
+# Change this!
+read := "public"
+# Uncomment begemotSnmpdCommunityString.0.2 below that sets the community
+# string to enable write access.
+write := "geheim"
+trap := "mytrap"
+
+#
+# Declarations for SNMP-USER-BASED-SM-MIB authentication and privacy options
+#
+
+NoAuthProtocol := 1.3.6.1.6.3.10.1.1.1
+HMACMD5AuthProtocol:= 1.3.6.1.6.3.10.1.1.2
+HMACSHAAuthProtocol:= 1.3.6.1.6.3.10.1.1.3
+NoPrivProtocol := 1.3.6.1.6.3.10.1.2.1
+DESPrivProtocol:= 1.3.6.1.6.3.10.1.2.2
+AesCfb128Protocol  := 1.3.6.1.6.3.10.1.2.4
+
+#
+# Enumerations from SNMP-FRAMEWORK-MIB
+#
+
+# Security models
+securityModelAny   := 0
+securityModelSNMPv1:= 1
+securityModelSNMPv2c   := 2
+securityModelUSM   := 3
+
+# Message Processing models
+MPmodelSNMPv1  := 0
+MPmodelSNMPv2c := 1
+MPmodelSNMPv3  := 3
+
+# Security levels
+noAuthNoPriv := 1
+authNoPriv := 2
+authPriv := 3
+
+
+# SNMPv3 USM User definition
+#
+# The localized hex password for a user may be obtained by setting SNMPUSER, 
SNMPPASSWD,
+# SNMPAUTH and SNMPPRIV environment variables to the desired parameters and 
invoking
+# 'bsnmpget -v 3 -D -K -o verbose' against the running bsnmpd(1). For other
+# usages refer to the bsnmpget(1) manual page. The following lines define a 
user "bsnmp"
+# with a private password "bsnmptest", localized for the above engine ID.
+#
+#user1 := "bsnmp"
+#user1passwd := 
0x22:0x98:0x1a:0x6e:0x39:0x93:0x16:0x5e:0x6a:0x21:0x1b:0xd8:0xa9:0x81:0x31:0x05:0x16:0x33:0x38:0x60
+
+#
+# Configuration
+#
+%snmpd
+begemotSnmpdDebugDumpPdus  = 2
+begemotSnmpdDebugSyslogPri = 7
+
+#
+# Set the read and write communities.
+#
+# The default value of the community strings is NULL (note, that this is
+# different from the empty string). This disables both read and write access.
+# To enable read access only the read community string must be set. Setting
+# the write community string enables both read and write access with that
+# string.
+#
+# Be sure to understand the security implications of SNMPv2 - the community
+# strings are readable on the wire!
+#
+begemotSnmpdCommunityString.0.1= $(read)
+# begemotSnmpdCommunityString.0.2  = $(write)
+begemotSnmpdCommunityDisable   = 1
+
+# open standard SNMP ports
+begemotSnmpdPortStatus.0.0.0.0.161 = 1
+
+# open a 

svn commit: r337624 - in head: etc sbin/sysctl

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 13:28:03 2018
New Revision: 337624
URL: https://svnweb.freebsd.org/changeset/base/337624

Log:
  Move sysctl.conf to sbin/sysctl/ and switch to CONFS.
  
  This helps with pkgbase to tag this config file as a config file.
  
  Approved by:  allanjude (mentor), will (mentor)
  Differential Revision:https://reviews.freebsd.org/D16559

Added:
  head/sbin/sysctl/sysctl.conf
 - copied unchanged from r337623, head/etc/sysctl.conf
Deleted:
  head/etc/sysctl.conf
Modified:
  head/etc/Makefile
  head/sbin/sysctl/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 13:25:39 2018(r337623)
+++ head/etc/Makefile   Sat Aug 11 13:28:03 2018(r337624)
@@ -41,7 +41,6 @@ BIN1= crontab \
remote \
rpc \
services \
-   sysctl.conf \
syslog.conf \
termcap.small
 

Modified: head/sbin/sysctl/Makefile
==
--- head/sbin/sysctl/Makefile   Sat Aug 11 13:25:39 2018(r337623)
+++ head/sbin/sysctl/Makefile   Sat Aug 11 13:28:03 2018(r337624)
@@ -2,6 +2,7 @@
 # $FreeBSD$
 
 PACKAGE=runtime
+CONFS= sysctl.conf
 PROG=  sysctl
 WARNS?=3
 MAN=   sysctl.8

Copied: head/sbin/sysctl/sysctl.conf (from r337623, head/etc/sysctl.conf)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sbin/sysctl/sysctl.confSat Aug 11 13:28:03 2018
(r337624, copy of r337623, head/etc/sysctl.conf)
@@ -0,0 +1,9 @@
+# $FreeBSD$
+#
+#  This file is read when going to multi-user and its contents piped thru
+#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
+#
+
+# Uncomment this to prevent users from seeing information about processes that
+# are being run under another UID.
+#security.bsd.see_other_uids=0
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337623 - in head: etc sbin/ddb

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 13:25:39 2018
New Revision: 337623
URL: https://svnweb.freebsd.org/changeset/base/337623

Log:
  Move ddb.conf to sbin/ddb/ and switch to CONFS.
  
  This helps pkgbase as this config file will now be tagged as a config file.
  
  Approved by:  allanjude (mentor)
  Differential Revision:https://reviews.freebsd.org/D16675

Added:
  head/sbin/ddb/ddb.conf
 - copied unchanged from r337622, head/etc/ddb.conf
Deleted:
  head/etc/ddb.conf
Modified:
  head/etc/Makefile
  head/sbin/ddb/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 13:23:09 2018(r337622)
+++ head/etc/Makefile   Sat Aug 11 13:25:39 2018(r337623)
@@ -15,7 +15,6 @@ SUBDIR+=sendmail
 BIN1=  crontab \
devd.conf \
devfs.conf \
-   ddb.conf \
dhclient.conf \
disktab \
fbtab \

Modified: head/sbin/ddb/Makefile
==
--- head/sbin/ddb/Makefile  Sat Aug 11 13:23:09 2018(r337622)
+++ head/sbin/ddb/Makefile  Sat Aug 11 13:25:39 2018(r337623)
@@ -1,5 +1,6 @@
 # $FreeBSD$
 
+CONFS= ddb.conf
 PACKAGE=runtime
 PROG=  ddb
 SRCS=  ddb.c ddb_capture.c ddb_script.c

Copied: head/sbin/ddb/ddb.conf (from r337622, head/etc/ddb.conf)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sbin/ddb/ddb.conf  Sat Aug 11 13:25:39 2018(r337623, copy 
of r337622, head/etc/ddb.conf)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+#
+#  This file is read when going to multi-user and its contents piped thru
+#  ``ddb'' to define debugging scripts.
+#
+# see ``man 4 ddb'' and ``man 8 ddb'' for details.
+#
+
+script lockinfo=show locks; show alllocks; show lockedvnods
+
+# kdb.enter.panic  panic(9) was called.
+script kdb.enter.panic=textdump set; capture on; run lockinfo; show pcpu; bt; 
ps; alltrace; capture off; call doadump; reset
+
+# kdb.enter.witnesswitness(4) detected a locking error.
+script kdb.enter.witness=run lockinfo
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337622 - in head: etc usr.sbin/auditd

2018-08-11 Thread Brad Davis
Author: brd
Date: Sat Aug 11 13:23:09 2018
New Revision: 337622
URL: https://svnweb.freebsd.org/changeset/base/337622

Log:
  Move OpenBSM to CONFS
  
  This helps with pkgbase as these config files will be properly tagged as
  config files.
  
  Approved by:  allanjude (mentor), oshogbo
  Differential Revision:https://reviews.freebsd.org/D16679

Modified:
  head/etc/Makefile
  head/usr.sbin/auditd/Makefile

Modified: head/etc/Makefile
==
--- head/etc/Makefile   Sat Aug 11 13:18:19 2018(r337621)
+++ head/etc/Makefile   Sat Aug 11 13:23:09 2018(r337622)
@@ -56,14 +56,6 @@ BIN1+=   etc.${MACHINE_CPUARCH}/ttys
 .error etc.MACHINE/ttys missing
 .endif
 
-OPENBSMDIR=${SRCTOP}/contrib/openbsm
-BSM_ETC_OPEN_FILES=${OPENBSMDIR}/etc/audit_class \
-   ${OPENBSMDIR}/etc/audit_event
-BSM_ETC_RESTRICTED_FILES=  ${OPENBSMDIR}/etc/audit_control \
-   ${OPENBSMDIR}/etc/audit_user
-BSM_ETC_EXEC_FILES=${OPENBSMDIR}/etc/audit_warn
-BSM_ETC_DIR=   ${DESTDIR}/etc/security
-
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_AMD} != "no"
@@ -203,12 +195,6 @@ distribution:
${_+_}cd ${.CURDIR}/syslog.d; ${MAKE} install
${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt
${_+_}cd ${.CURDIR}/pam.d; ${MAKE} install
-   cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0444 \
-   ${BSM_ETC_OPEN_FILES} ${BSM_ETC_DIR}
-   cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0600 \
-   ${BSM_ETC_RESTRICTED_FILES} ${BSM_ETC_DIR}
-   cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 0500 \
-   ${BSM_ETC_EXEC_FILES} ${BSM_ETC_DIR}
 .if ${MK_UNBOUND} != "no"
if [ ! -e ${DESTDIR}/etc/unbound ]; then \
${INSTALL_SYMLINK} ../var/unbound ${DESTDIR}/etc/unbound; \

Modified: head/usr.sbin/auditd/Makefile
==
--- head/usr.sbin/auditd/Makefile   Sat Aug 11 13:18:19 2018
(r337621)
+++ head/usr.sbin/auditd/Makefile   Sat Aug 11 13:23:09 2018
(r337622)
@@ -7,6 +7,18 @@ OPENBSMDIR=${SRCTOP}/contrib/openbsm
 
 CFLAGS+=   -I${OPENBSMDIR}
 
+OPENBSMETCDIR=  ${OPENBSMDIR}/etc
+CONFS=  ${OPENBSMETCDIR}/audit_class
+CONFSMODE_${OPENBSMETCDIR}/audit_class= 444
+CONFS+= ${OPENBSMETCDIR}/audit_control
+CONFSMODE_${OPENBSMETCDIR}/audit_control=   600
+CONFS+= ${OPENBSMETCDIR}/audit_event
+CONFSMODE_${OPENBSMETCDIR}/audit_event= 444
+CONFS+= ${OPENBSMETCDIR}/audit_user
+CONFSMODE_${OPENBSMETCDIR}/audit_user=  600
+CONFS+= ${OPENBSMETCDIR}/audit_warn
+CONFSMODE_${OPENBSMETCDIR}/audit_warn=  500
+CONFSDIR=   /etc/security
 PROG=  auditd
 SRCS=  auditd.c audit_warn.c auditd_fbsd.c
 MAN=   auditd.8
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337621 - in head/share/man: man5 man7

2018-08-11 Thread Alexander Leidinger
Author: netchild
Date: Sat Aug 11 13:18:19 2018
New Revision: 337621
URL: https://svnweb.freebsd.org/changeset/base/337621

Log:
  Add svnlite to places where svn is mentioned.
  
  The Makefile part in the PR is solved already differently, so this
  part is skipped form the PR The man page change change is slightly
  changed to adapt to the way the Makefile works and to the spirit
  of what is intended here.
  
  Submitted by: Juan Ramón Molina Menor 
  PR:   194910
  Sponsored by: Essen Hackathon

Modified:
  head/share/man/man5/make.conf.5
  head/share/man/man7/build.7

Modified: head/share/man/man5/make.conf.5
==
--- head/share/man/man5/make.conf.5 Sat Aug 11 13:01:46 2018
(r337620)
+++ head/share/man/man5/make.conf.5 Sat Aug 11 13:18:19 2018
(r337621)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 20, 2018
+.Dd August 11, 2018
 .Dt MAKE.CONF 5
 .Os
 .Sh NAME
@@ -234,12 +234,13 @@ Set this to not update the ports tree during
 .Pq Vt bool
 Set this to use
 .Xr svn 1
+or
+.Xr svnlite 1
 to update your
 .Pa src
 tree with
 .Dq Li "make update" .
-Note that since a subversion client is not included in the base system,
-you will need to set
+Note that you can set
 .Va SVN
 to the full path of a
 .Xr svn 1

Modified: head/share/man/man7/build.7
==
--- head/share/man/man7/build.7 Sat Aug 11 13:01:46 2018(r337620)
+++ head/share/man/man7/build.7 Sat Aug 11 13:18:19 2018(r337621)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 24, 2017
+.Dd August 11, 2018
 .Dt BUILD 7
 .Os
 .Sh NAME
@@ -42,6 +42,8 @@ and
 These directories may be initially empty or non-existent until updated with
 .Xr svn 1
 or
+.Xr svnlite 1
+or
 .Xr portsnap 8 .
 Directory
 .Pa /usr/src
@@ -789,6 +791,7 @@ make TARGET_ARCH=armv6 DESTDIR=/clients/arm64 installw
 .Xr install 1 ,
 .Xr make 1 ,
 .Xr svn 1 ,
+.Xr svnlite 1 ,
 .Xr make.conf 5 ,
 .Xr src.conf 5 ,
 .Xr arch 7 ,
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Kristof Provost

Hi Devin,

On 11 Aug 2018, at 8:32, Devin Teske wrote:

Author: dteske
Date: Sat Aug 11 06:32:31 2018
New Revision: 337611
URL: https://svnweb.freebsd.org/changeset/base/337611

Log:
  dwatch(1): Add systop profile

  Provides a top-like view of syscall consumers.

  MFC after:3 days
  X-MFC-to: stable/11
  Sponsored by: Smule, Inc.

Added:
  head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props changed)
Modified:
  head/cddl/usr.sbin/dwatch/libexec/Makefile

Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
==
--- head/cddl/usr.sbin/dwatch/libexec/Makefile	Sat Aug 11 06:13:11 
2018	(r337610)
+++ head/cddl/usr.sbin/dwatch/libexec/Makefile	Sat Aug 11 06:32:31 
2018	(r337611)
@@ -62,6 +62,7 @@ LINKS+=	${LIBEXECDIR}/dwatch/sendrecv 
${LIBEXECDIR}/dw

 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
+LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop


This breaks install world:
install: link 
/usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop 
-> 
/usr/obj/usr/src/amd64.amd64/release/dist/base/usr/libexec/dwatch/systop: 
No such file or directory


Regards,
Kristof
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337620 - head/share/man/man4

2018-08-11 Thread Alexander Leidinger
Author: netchild
Date: Sat Aug 11 13:01:46 2018
New Revision: 337620
URL: https://svnweb.freebsd.org/changeset/base/337620

Log:
  Add "ESI Juli@ XTe" as a supported device.
  
  Submitted by: Vladislav Movchan  
  PR:   222025
  Sponsored by: Essen Hackathon

Modified:
  head/share/man/man4/snd_envy24ht.4

Modified: head/share/man/man4/snd_envy24ht.4
==
--- head/share/man/man4/snd_envy24ht.4  Sat Aug 11 11:28:51 2018
(r337619)
+++ head/share/man/man4/snd_envy24ht.4  Sat Aug 11 13:01:46 2018
(r337620)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 1, 2014
+.Dd August 11, 2018
 .Dt SND_ENVY24HT 4
 .Os
 .Sh NAME
@@ -68,6 +68,8 @@ Audiotrak Prodigy 7.1 XT
 Audiotrak Prodigy HD2
 .It
 ESI Juli@
+.It
+ESI Juli@ XTe
 .It
 M-Audio Audiophile 192
 .It
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337618 - head/usr.bin/printf

2018-08-11 Thread Jilles Tjoelker
Author: jilles
Date: Sat Aug 11 11:13:34 2018
New Revision: 337618
URL: https://svnweb.freebsd.org/changeset/base/337618

Log:
  printf: Fix \c in %b in printf builtin exiting the shell after r337458
  
  SVN r337458 erroneously partially reverted r265885.
  
  This is immediately visible when running the Kyua/ATF tests for
  usr.bin/printf, which actually test sh's printf builtin.
  
  PR:   229641

Modified:
  head/usr.bin/printf/printf.c

Modified: head/usr.bin/printf/printf.c
==
--- head/usr.bin/printf/printf.cSat Aug 11 11:05:22 2018
(r337617)
+++ head/usr.bin/printf/printf.cSat Aug 11 11:13:34 2018
(r337618)
@@ -388,7 +388,7 @@ printf_doformat(char *fmt, int *rval)
 
free(p);
if (getout)
-   exit(*rval);
+   return (end_fmt);
break;
}
case 'c': {
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337617 - head/sbin/ifconfig

2018-08-11 Thread Sevan Janiyan
Author: sevan (doc committer)
Date: Sat Aug 11 11:05:22 2018
New Revision: 337617
URL: https://svnweb.freebsd.org/changeset/base/337617

Log:
  IEEE!
  
  Pointy hat:   myself

Modified:
  head/sbin/ifconfig/ifieee80211.c

Modified: head/sbin/ifconfig/ifieee80211.c
==
--- head/sbin/ifconfig/ifieee80211.cSat Aug 11 10:49:43 2018
(r337616)
+++ head/sbin/ifconfig/ifieee80211.cSat Aug 11 11:05:22 2018
(r337617)
@@ -3529,8 +3529,8 @@ list_scan(int s)
idlen = sr->isr_ssid_len;
}
printf("%-*.*s  %s  %3d  %3dM %4d:%-4d %4d %-4.4s"
-   , IEE80211_NWID_LEN
- , copy_essid(ssid, IEE80211_NWID_LEN, idp, idlen)
+   , IEEE80211_NWID_LEN
+ , copy_essid(ssid, IEEE80211_NWID_LEN, idp, idlen)
  , ssid
, ether_ntoa((const struct ether_addr *) sr->isr_bssid)
, ieee80211_mhz2ieee(sr->isr_freq, sr->isr_flags)
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337615 - head/contrib/llvm/lib/Target/X86

2018-08-11 Thread Dimitry Andric
Author: dim
Date: Sat Aug 11 10:42:12 2018
New Revision: 337615
URL: https://svnweb.freebsd.org/changeset/base/337615

Log:
  Pull in r338481 from upstream llvm trunk (by Chandler Carruth):
  
[x86] Fix a really subtle miscompile due to a somewhat glaring bug in
EFLAGS copy lowering.
  
If you have a branch of LLVM, you may want to cherrypick this. It is
extremely unlikely to hit this case empirically, but it will likely
manifest as an "impossible" branch being taken somewhere, and will be
... very hard to debug.
  
Hitting this requires complex conditions living across complex
control flow combined with some interesting memory (non-stack)
initialized with the results of a comparison. Also, because you have
to arrange for an EFLAGS copy to be in *just* the right place, almost
anything you do to the code will hide the bug. I was unable to reduce
anything remotely resembling a "good" test case from the place where
I hit it, and so instead I have constructed synthetic MIR testing
that directly exercises the bug in question (as well as the good
behavior for completeness).
  
The issue is that we would mistakenly assume any SETcc with a valid
condition and an initial operand that was a register and a virtual
register at that to be a register *defining* SETcc...
  
It isn't though
  
This would in turn cause us to test some other bizarre register,
typically the base pointer of some memory. Now, testing this register
and using that to branch on doesn't make any sense. It even fails the
machine verifier (if you are running it) due to the wrong register
class. But it will make it through LLVM, assemble, and it *looks*
fine... But wow do you get a very unsual and surprising branch taken
in your actual code.
  
The fix is to actually check what kind of SETcc instruction we're
dealing with. Because there are a bunch of them, I just test the
may-store bit in the instruction. I've also added an assert for
sanity that ensure we are, in fact, *defining* the register operand.
=D
  
  Noticed by:   kib
  MFC after:1 week

Modified:
  head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp

Modified: head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
==
--- head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp   Sat Aug 11 
10:21:21 2018(r337614)
+++ head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp   Sat Aug 11 
10:42:12 2018(r337615)
@@ -608,9 +608,12 @@ X86FlagsCopyLoweringPass::collectCondsInRegs(MachineBa
   for (MachineInstr  : llvm::reverse(
llvm::make_range(MBB.instr_begin(), CopyDefI.getIterator( {
 X86::CondCode Cond = X86::getCondFromSETOpc(MI.getOpcode());
-if (Cond != X86::COND_INVALID && MI.getOperand(0).isReg() &&
-TRI->isVirtualRegister(MI.getOperand(0).getReg()))
+if (Cond != X86::COND_INVALID && !MI.mayStore() && 
MI.getOperand(0).isReg() &&
+TRI->isVirtualRegister(MI.getOperand(0).getReg())) {
+  assert(MI.getOperand(0).isDef() &&
+ "A non-storing SETcc should always define a register!");
   CondRegs[Cond] = MI.getOperand(0).getReg();
+}
 
 // Stop scanning when we see the first definition of the EFLAGS as prior to
 // this we would potentially capture the wrong flag state.
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337614 - head/sbin/ifconfig

2018-08-11 Thread Sevan Janiyan
Author: sevan (doc committer)
Date: Sat Aug 11 10:21:21 2018
New Revision: 337614
URL: https://svnweb.freebsd.org/changeset/base/337614

Log:
  Drop the ternary operator for calculating ssid display length in list_scan().
  Regardless if a verbose scan is required or not, we'd still want to display 
the
  full SSID name by default so use the IEE80211_NWID_LEN constant to set the
  value to use instead.
  
  Tested on rene@'s laptop.
  Reviewed by:  kp
  Sponsored by: Essen Hackathon
  Differential Revision:https://reviews.freebsd.org/D16566

Modified:
  head/sbin/ifconfig/ifieee80211.c

Modified: head/sbin/ifconfig/ifieee80211.c
==
--- head/sbin/ifconfig/ifieee80211.cSat Aug 11 09:32:20 2018
(r337613)
+++ head/sbin/ifconfig/ifieee80211.cSat Aug 11 10:21:21 2018
(r337614)
@@ -3496,7 +3496,7 @@ list_scan(int s)
uint8_t buf[24*1024];
char ssid[IEEE80211_NWID_LEN+1];
const uint8_t *cp;
-   int len, ssidmax, idlen;
+   int len, idlen;
 
if (get80211len(s, IEEE80211_IOC_SCAN_RESULTS, buf, sizeof(buf), ) 
< 0)
errx(1, "unable to get scan results");
@@ -3505,9 +3505,8 @@ list_scan(int s)
 
getchaninfo(s);
 
-   ssidmax = verbose ? IEEE80211_NWID_LEN : 32;
printf("%-*.*s  %-17.17s  %4s %4s   %-7s  %3s %4s\n"
-   , ssidmax, ssidmax, "SSID/MESH ID"
+   , IEEE80211_NWID_LEN, IEEE80211_NWID_LEN, "SSID/MESH ID"
, "BSSID"
, "CHAN"
, "RATE"
@@ -3530,8 +3529,8 @@ list_scan(int s)
idlen = sr->isr_ssid_len;
}
printf("%-*.*s  %s  %3d  %3dM %4d:%-4d %4d %-4.4s"
-   , ssidmax
- , copy_essid(ssid, ssidmax, idp, idlen)
+   , IEE80211_NWID_LEN
+ , copy_essid(ssid, IEE80211_NWID_LEN, idp, idlen)
  , ssid
, ether_ntoa((const struct ether_addr *) sr->isr_bssid)
, ieee80211_mhz2ieee(sr->isr_freq, sr->isr_flags)
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337612 - head/sbin/mount_cd9660

2018-08-11 Thread Sevan Janiyan
Author: sevan (doc committer)
Date: Sat Aug 11 08:34:24 2018
New Revision: 337612
URL: https://svnweb.freebsd.org/changeset/base/337612

Log:
  Advise reader to also see mdconfig(8) in mount_cd9660(8).
  It's useful for how to mount an iso file via loopback.
  
  Reviewed by:  jilles
  Approved by:  bcr (mentor)
  Differential Revision:https://reviews.freebsd.org/D16067

Modified:
  head/sbin/mount_cd9660/mount_cd9660.8

Modified: head/sbin/mount_cd9660/mount_cd9660.8
==
--- head/sbin/mount_cd9660/mount_cd9660.8   Sat Aug 11 06:32:31 2018
(r337611)
+++ head/sbin/mount_cd9660/mount_cd9660.8   Sat Aug 11 08:34:24 2018
(r337612)
@@ -32,7 +32,7 @@
 .\" @(#)mount_cd9660.8 8.3 (Berkeley) 3/27/94
 .\" $FreeBSD$
 .\"
-.Dd March 22, 2017
+.Dd August 11, 2018
 .Dt MOUNT_CD9660 8
 .Os
 .Sh NAME
@@ -140,6 +140,7 @@ The following command can be used to mount a Kodak Pho
 .Xr unmount 2 ,
 .Xr cd9660 5 ,
 .Xr fstab 5 ,
+.Xr mdconfig 8 ,
 .Xr mount 8
 .Sh HISTORY
 The
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r337611 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Devin Teske
Author: dteske
Date: Sat Aug 11 06:32:31 2018
New Revision: 337611
URL: https://svnweb.freebsd.org/changeset/base/337611

Log:
  dwatch(1): Add systop profile
  
  Provides a top-like view of syscall consumers.
  
  MFC after:3 days
  X-MFC-to: stable/11
  Sponsored by: Smule, Inc.

Added:
  head/cddl/usr.sbin/dwatch/libexec/systop   (contents, props changed)
Modified:
  head/cddl/usr.sbin/dwatch/libexec/Makefile

Modified: head/cddl/usr.sbin/dwatch/libexec/Makefile
==
--- head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:13:11 2018
(r337610)
+++ head/cddl/usr.sbin/dwatch/libexec/Makefile  Sat Aug 11 06:32:31 2018
(r337611)
@@ -62,6 +62,7 @@ LINKS+=   ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dw
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg
 LINKS+=${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto
+LINKS+=${LIBEXECDIR}/dwatch/systop ${LIBEXECDIR}/dwatch/systop
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept
 LINKS+=${LIBEXECDIR}/dwatch/tcp 
${LIBEXECDIR}/dwatch/tcp-accept-established
 LINKS+=${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-refused

Added: head/cddl/usr.sbin/dwatch/libexec/systop
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/cddl/usr.sbin/dwatch/libexec/systopSat Aug 11 06:32:31 2018
(r337611)
@@ -0,0 +1,84 @@
+# -*- tab-width: 4 -*- ;; Emacs
+# vi: set filetype=sh tabstop=8 shiftwidth=8 noexpandtab :: Vi/ViM
+ IDENT(1)
+#
+# $Title: dwatch(8) profile for top-like syscall $
+# $Copyright: 2014-2018 Devin Teske. All rights reserved. $
+# $FreeBSD$
+#
+ DESCRIPTION
+#
+# Every 3 seconds update the screen with syscall consumers.
+#
+ PRAGMAS
+
+# Optional: You can override the default pragmas (shown below)
+
+DTRACE_PRAGMA="
+   option quiet
+   option aggsortrev
+" # END-QUOTE
+
+ PROBE
+
+: ${PROBE:=profile:::tick-3s}
+
+ ACTIONS
+
+exec 9< /dev/null )
+rows="${size%% *}"
+cols="${size#* }"
+
+exec 9

svn commit: r337610 - head/cddl/usr.sbin/dwatch/libexec

2018-08-11 Thread Devin Teske
Author: dteske
Date: Sat Aug 11 06:13:11 2018
New Revision: 337610
URL: https://svnweb.freebsd.org/changeset/base/337610

Log:
  dwatch(1): Fix syntax error in vop_readdir profile
  
  Reported by:  Arne Ehrlich 
  MFC after:3 days
  X-MFC-to: stable/11
  Sponsored by: Smule, Inc.

Modified:
  head/cddl/usr.sbin/dwatch/libexec/vop_readdir

Modified: head/cddl/usr.sbin/dwatch/libexec/vop_readdir
==
--- head/cddl/usr.sbin/dwatch/libexec/vop_readdir   Sat Aug 11 04:55:47 
2018(r337609)
+++ head/cddl/usr.sbin/dwatch/libexec/vop_readdir   Sat Aug 11 06:13:11 
2018(r337610)
@@ -163,6 +163,7 @@ $PROBE /this->fi_mount != 0/ /* probe ID $(( $ID + $MA
this->path = strjoin(this->path, strjoin(this->name =
(this->d_name != 0 ? this->d_name : ""),
this->name != "" ? "/" : ""));
+}
 EOF
 ACTIONS=$( cat <&9 )
 ID=$(( $ID + $MAX_DEPTH + 5 ))
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"