svn commit: r344618 - head/cddl/contrib/opensolaris/lib/libzfs/common

2019-02-26 Thread Baptiste Daroussin
Author: bapt
Date: Wed Feb 27 07:55:53 2019
New Revision: 344618
URL: https://svnweb.freebsd.org/changeset/base/344618

Log:
  Fix regression introduced in r344569
  
  Reported by:  cy
  Tested by:cy
  Submitted by: Fatih Acar 

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
==
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c  Wed Feb 
27 06:50:24 2019(r344617)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c  Wed Feb 
27 07:55:53 2019(r344618)
@@ -1260,11 +1260,11 @@ mountpoint_cmp(const void *arga, const void *argb)
if (*a == '\0')
return (-1);
if (*b == '\0')
-   return (-1);
+   return (1);
if (*a == '/')
return (-1);
if (*b == '/')
-   return (-1);
+   return (1);
return (*a < *b ? -1 : *a > *b);
}
 
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Andriy Gapon
On 26/02/2019 22:58, Cy Schubert wrote:
> I was talking about nested datasets, i.e. tank/freebsd/git/current and 
> tank/freebsd/git/ports are four levels deep.

We usually don't call them "nested".  In fact, I don't think that we call them
anything special because having N levels deep datasets (N > 1) is just a common
thing.  We may call them subordinate or child datasets when mentioning a
relation to a parent dataset.

> In my case the ports 
> dataset was mounted while the current dataset was not, though zfs 
> believed it was. unmounting the current dataset and remounting it, zfs 
> umount .../current; zfs mount .../current worked around the issue.

Are you sure that it was not mounted?
Have you checked that by looking at mount output?
I suspect that it was mounted, just not where you expected and its mount path
was covered by another filesystem.

E.g., lets consider this hypothetical case.
I have two same level datasets tank/freebsd/src and tank/freebsd/sys where
tank/freebsd/src is mounted at /usr/src and tank/freebsd/sys is mounted at
/usr/src/sys (a child directory of /usr/src).
If tank/freebsd/src is mounted first, then everything is okay, tank/freebsd/sys
would be mounted on top of sys directory in tank/freebsd/src.
If, however, tank/freebsd/sys is mounted first (assuming that path /usr/src/sys
exists in a root filesystem), then mounting tank/freebsd/src would simply hide
tank/freebsd/sys "below" it as /usr/src/sys would be sys directory in
tank/freebsd/src.

I guess that this is a kind of problem that could be introduced with parallel
mounting.  And I guess that this is a kind of problem that you might actually
have.  But it's just a guess.

-- 
Andriy Gapon
___
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: r344617 - head/contrib/ofed/libcxgb4

2019-02-26 Thread Navdeep Parhar
Author: np
Date: Wed Feb 27 06:50:24 2019
New Revision: 344617
URL: https://svnweb.freebsd.org/changeset/base/344617

Log:
  libcxgb4: Don't spam stderr.  Write combining is not enabled by default
  by the FreeBSD driver.

Modified:
  head/contrib/ofed/libcxgb4/dev.c

Modified: head/contrib/ofed/libcxgb4/dev.c
==
--- head/contrib/ofed/libcxgb4/dev.cWed Feb 27 04:58:18 2019
(r344616)
+++ head/contrib/ofed/libcxgb4/dev.cWed Feb 27 06:50:24 2019
(r344617)
@@ -202,8 +202,6 @@ static struct ibv_context *c4iw_alloc_context(struct i
 * loader tunable "hw.cxl.write_combine=0"
 */
if (t5_en_wc && !context->status_page->wc_supported) {
-   fprintf(stderr, "iw_cxgb4 driver doesn't support Write "
-   "Combine, so regular DB writes will be used\n");
t5_en_wc = 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: r344616 - head/sys/dev/fdt

2019-02-26 Thread Ian Lepore
Author: ian
Date: Wed Feb 27 04:58:18 2019
New Revision: 344616
URL: https://svnweb.freebsd.org/changeset/base/344616

Log:
  Add support to fdt_slicer for the new style partition data documented in
  devicetree/bindings/mtd/partition.txt.
  
  In the old style, all the children of the device node which did not have a
  compatible property were the partitions.  In the new style, there is a child
  node of the device which has a compatible string of "fixed-partitions", and
  its children are the individual partitions.
  
  Also, support the read-only property by setting the corresponding slice flag.

Modified:
  head/sys/dev/fdt/fdt_slicer.c

Modified: head/sys/dev/fdt/fdt_slicer.c
==
--- head/sys/dev/fdt/fdt_slicer.c   Wed Feb 27 04:19:29 2019
(r344615)
+++ head/sys/dev/fdt/fdt_slicer.c   Wed Feb 27 04:58:18 2019
(r344616)
@@ -51,27 +51,17 @@ static int fill_slices(device_t dev, const char *provi
 static void fdt_slicer_init(void);
 
 static int
-fill_slices(device_t dev, const char *provider __unused,
-struct flash_slice *slices, int *slices_num)
+fill_slices_from_node(phandle_t node, struct flash_slice *slices, int *count)
 {
-   char *slice_name;
-   phandle_t node, child;
+   char *label;
+   phandle_t child;
u_long base, size;
-   int i;
+   int flags, i;
ssize_t nmlen;
 
-   /*
-* We assume the caller provides buffer for FLASH_SLICES_MAX_NUM
-* flash_slice structures.
-*/
-   if (slices == NULL) {
-   *slices_num = 0;
-   return (ENOMEM);
-   }
-
i = 0;
-   node = ofw_bus_get_node(dev);
for (child = OF_child(node); child != 0; child = OF_peer(child)) {
+   flags = FLASH_SLICES_FLAG_NONE;
 
/* Nodes with a compatible property are not slices. */
if (OF_hasprop(child, "compatible"))
@@ -95,26 +85,59 @@ fill_slices(device_t dev, const char *provider __unuse
}
 
/* Retrieve label. */
-   nmlen = OF_getprop_alloc(child, "label", (void **)_name);
+   nmlen = OF_getprop_alloc(child, "label", (void **));
if (nmlen <= 0) {
/* Use node name if no label defined */
-   nmlen = OF_getprop_alloc(child, "name", 
-   (void **)_name);
+   nmlen = OF_getprop_alloc(child, "name", (void 
**));
if (nmlen <= 0) {
debugf("slice i=%d with no name\n", i);
-   slice_name = NULL;
+   label = NULL;
}
}
 
+   if (OF_hasprop(child, "read-only"))
+   flags |= FLASH_SLICES_FLAG_RO;
+
/* Fill slice entry data. */
slices[i].base = base;
slices[i].size = size;
-   slices[i].label = slice_name;
+   slices[i].label = label;
+   slices[i].flags = flags;
i++;
}
 
-   *slices_num = i;
+   *count = i;
return (0);
+}
+
+static int
+fill_slices(device_t dev, const char *provider __unused,
+struct flash_slice *slices, int *slices_num)
+{
+   phandle_t child, node;
+
+   /*
+* We assume the caller provides buffer for FLASH_SLICES_MAX_NUM
+* flash_slice structures.
+*/
+   if (slices == NULL) {
+   *slices_num = 0;
+   return (ENOMEM);
+   }
+
+   node = ofw_bus_get_node(dev);
+
+   /*
+* If there is a child node whose compatible is "fixed-partitions" then
+* we have new-style data where all partitions are the children of that
+* node.  Otherwise we have old-style data where all the children of the
+* device node are the partitions.
+*/
+   child = fdt_find_compatible(node, "fixed-partitions", false);
+   if (child == 0)
+   return fill_slices_from_node(node, slices, slices_num);
+   else
+   return fill_slices_from_node(child, slices, slices_num);
 }
 
 static void
___
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: r344615 - head/sys/dev/fdt

2019-02-26 Thread Ian Lepore
Author: ian
Date: Wed Feb 27 04:19:29 2019
New Revision: 344615
URL: https://svnweb.freebsd.org/changeset/base/344615

Log:
  Child nodes with a compatible property are not slices, according to the
  devicetree/bindings/mtd/partitions.txt document, so just ignore them.

Modified:
  head/sys/dev/fdt/fdt_slicer.c

Modified: head/sys/dev/fdt/fdt_slicer.c
==
--- head/sys/dev/fdt/fdt_slicer.c   Wed Feb 27 04:16:32 2019
(r344614)
+++ head/sys/dev/fdt/fdt_slicer.c   Wed Feb 27 04:19:29 2019
(r344615)
@@ -73,6 +73,10 @@ fill_slices(device_t dev, const char *provider __unuse
node = ofw_bus_get_node(dev);
for (child = OF_child(node); child != 0; child = OF_peer(child)) {
 
+   /* Nodes with a compatible property are not slices. */
+   if (OF_hasprop(child, "compatible"))
+   continue;
+
if (i == FLASH_SLICES_MAX_NUM) {
debugf("not enough buffer for slice i=%d\n", i);
break;
___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread Warner Losh
On Tue, Feb 26, 2019, 6:50 AM Alexey Dokuchaev  wrote:

> On Mon, Feb 25, 2019 at 10:19:45PM -0800, Rodney W. Grimes wrote:
> > > Author: sjg
> > > Date: Tue Feb 26 06:17:23 2019
> > > New Revision: 344567
> > > URL: https://svnweb.freebsd.org/changeset/base/344567
> > >
> > > Log:
> > >   Add verifying manifest loader for mac_veriexec
> > >
> > >   This tool will verify a signed manifest and load contents into
> > >   mac_veriexec for storage
> > >
> > >   Sponsored by: Juniper Networks
> > >   Differential Revision:D16575
> >
> > Just a small nit, for future reference, from the template:
> > > Differential Revision:https://reviews.freebsd.org/D###
> > (*full* phabric URL needed).
>
> IMHO we should just fix the scripts to accept D alone, without
> the URL.  We don't do that for PR (bugzilla) references, and the fact
> that we do for the phab is both needless and confusing.  Also, that
> URL might change one day while we could probably keep the old numbers
> if we move.


When this came up before, it was an upstream decision to require the full
path. The reasoning is that D space isn't unique and the review may
happen in a different instance of phab than the default one. When those
exact objections were raised, the experience of moving to bugzilla was
cited to show the URL can remain stable. And if we went to another
system's, we could keep the old in place and then we would need a new URL
to disambiguate. There were good reasons we decided this before.

So this has been litigated before, and the consensus was we needed to break
with the practice of not putting URLs in commit messages for these reasons.

Warner

>
___
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: r344614 - head/sys/dev/fdt

2019-02-26 Thread Ian Lepore
Author: ian
Date: Wed Feb 27 04:16:32 2019
New Revision: 344614
URL: https://svnweb.freebsd.org/changeset/base/344614

Log:
  Rename some functions and variables to have shorter names, which allows
  unwrapping multiple lines of code.  Also, convert some short multiline
  comments into single-line comments.  Change old-school FALSE to false.
  
  All in all, no functional changes, it's just more compact and readable.

Modified:
  head/sys/dev/fdt/fdt_slicer.c

Modified: head/sys/dev/fdt/fdt_slicer.c
==
--- head/sys/dev/fdt/fdt_slicer.c   Wed Feb 27 03:30:49 2019
(r344613)
+++ head/sys/dev/fdt/fdt_slicer.c   Wed Feb 27 04:16:32 2019
(r344614)
@@ -46,19 +46,19 @@ __FBSDID("$FreeBSD$");
 #define debugf(fmt, args...)
 #endif
 
-static int fdt_flash_fill_slices(device_t dev, const char *provider,
+static int fill_slices(device_t dev, const char *provider,
 struct flash_slice *slices, int *slices_num);
 static void fdt_slicer_init(void);
 
 static int
-fdt_flash_fill_slices(device_t dev, const char *provider __unused,
+fill_slices(device_t dev, const char *provider __unused,
 struct flash_slice *slices, int *slices_num)
 {
char *slice_name;
-   phandle_t dt_node, dt_child;
+   phandle_t node, child;
u_long base, size;
int i;
-   ssize_t name_len;
+   ssize_t nmlen;
 
/*
 * We assume the caller provides buffer for FLASH_SLICES_MAX_NUM
@@ -69,19 +69,17 @@ fdt_flash_fill_slices(device_t dev, const char *provid
return (ENOMEM);
}
 
-   dt_node = ofw_bus_get_node(dev);
-   for (dt_child = OF_child(dt_node), i = 0; dt_child != 0;
-   dt_child = OF_peer(dt_child)) {
+   i = 0;
+   node = ofw_bus_get_node(dev);
+   for (child = OF_child(node); child != 0; child = OF_peer(child)) {
 
if (i == FLASH_SLICES_MAX_NUM) {
debugf("not enough buffer for slice i=%d\n", i);
break;
}
 
-   /*
-* Retrieve start and size of the slice.
-*/
-   if (fdt_regsize(dt_child, , ) != 0) {
+   /* Retrieve start and size of the slice. */
+   if (fdt_regsize(child, , ) != 0) {
debugf("error during processing reg property, i=%d\n",
i);
continue;
@@ -92,24 +90,19 @@ fdt_flash_fill_slices(device_t dev, const char *provid
continue;
}
 
-   /*
-* Retrieve label.
-*/
-   name_len = OF_getprop_alloc(dt_child, "label",
-   (void **)_name);
-   if (name_len <= 0) {
+   /* Retrieve label. */
+   nmlen = OF_getprop_alloc(child, "label", (void **)_name);
+   if (nmlen <= 0) {
/* Use node name if no label defined */
-   name_len = OF_getprop_alloc(dt_child, "name",
+   nmlen = OF_getprop_alloc(child, "name", 
(void **)_name);
-   if (name_len <= 0) {
+   if (nmlen <= 0) {
debugf("slice i=%d with no name\n", i);
slice_name = NULL;
}
}
 
-   /*
-* Fill slice entry data.
-*/
+   /* Fill slice entry data. */
slices[i].base = base;
slices[i].size = size;
slices[i].label = slice_name;
@@ -124,12 +117,9 @@ static void
 fdt_slicer_init(void)
 {
 
-   flash_register_slicer(fdt_flash_fill_slices, FLASH_SLICES_TYPE_NAND,
-  FALSE);
-   flash_register_slicer(fdt_flash_fill_slices, FLASH_SLICES_TYPE_CFI,
-  FALSE);
-   flash_register_slicer(fdt_flash_fill_slices, FLASH_SLICES_TYPE_SPI,
-  FALSE);
+   flash_register_slicer(fill_slices, FLASH_SLICES_TYPE_NAND, false);
+   flash_register_slicer(fill_slices, FLASH_SLICES_TYPE_CFI, false);
+   flash_register_slicer(fill_slices, FLASH_SLICES_TYPE_SPI, false);
 }
 
 static void
___
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: r344562 - head/sys/ufs/ffs

2019-02-26 Thread Warner Losh
On Tue, Feb 26, 2019, 12:49 AM Rodney W. Grimes <
free...@pdx.rh.cn85.dnsmgr.net> wrote:

> > On Mon, 25 Feb 2019, Jason Harmening wrote:
> >
> > > On 2/25/19 9:46 PM, Bruce Evans wrote:
> > >>
> > >> block_size <= PAGE_SIZE is very uncommon for ffs, even on systems
> with
> > >> large
> > >> pages.  MINBSIZE is 4096 in ffs (except in my version, it is 512).
> The
> > >> default is 32768 in newfs.  I consider this excessive and only use it
> for
> > >> file systems with many files larger than 1GB, but it is the most
> common
> > >> size.
> > >> It is larger than the large page size of 8192.
> > >
> > > I think this is a case of filesystem logical block size vs. media
> sector
> > > size, right?  Here we're checking the devvp's block size, which I
> think
> > > should correspond to the sector size.  I'd expect cases of that being
> > > greater than PAGE_SIZE to be uncommon, in fact geli warns when that is
> the
> > > case.   I probably should've made that clearer in the commit message.
> >
> > Yes, I missed that you are checking devvp.  ffs_getpages() also checks
> > devvp.
> >
> > So the bug has nothing to do with file system logical (fragment) or i/o
> > (block) block size's, except file systems themselves won't work unless
> > their i/o size is a multiple of the underlying devices (sector) i/o size.
> >
> > Are there physical disk with sector size > PAGE_SIZE now?
>
> I have been told that there are some sd/flash devices that
> have a 16k physical sector size, I have not been able to
> confirm that information though.
>

There are a number of drives that report 16k physical, but 4k sector size.
Others vendors have suggested that 32k or 64k may be on the horizon. But
all these drives still report an LBA size of 4k.

The drive vendors I've talked to have indicated that a larger sector size
is in the works, but so far they haven't indicated what that newer size
will wind up being, or when it would appear in the market...

The timing of when may be unknown, but it's quite likely the future will
have to cope with a mismatch.

Warner

> It is easy to
> > create virtual (md) disks with sector size > PAGE_SIZE, and this may even
> > be useful for avoiding the related problem of having to access large fs
> > blocks to do i/o to small md sectors.  I think it is best to use
> PAGE_SIZE
> > blocks in all layers and sometimes combine these into clusters.
> >
> > Bruce
> --
> Rod Grimes
> rgri...@freebsd.org
>
>
___
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: r344613 - head/sys/powerpc/mpc85xx

2019-02-26 Thread Justin Hibbits
Author: jhibbits
Date: Wed Feb 27 03:30:49 2019
New Revision: 344613
URL: https://svnweb.freebsd.org/changeset/base/344613

Log:
  powerpc/mpc85xx: Synchronize timebase the platform correct way
  
  Summary:
  To safely synchronize timebase we need to disable the timebase on all
  cores, set timebase, and resynchronize.  This adds two new devices, mutually
  exclusive, which attach on the SoC simplebus, to freeze and unfreeze the
  timebase.  The devices are singletons, and platform-specific, so no reason
  to make them optional and in separate files.
  
  This was found to be necessary for top(1) to work correctly on an AmigaOne
  X5000 (P5020 SoC).  It also fixes bufdaemon and bufspacedaemon hangs at
  shutdown.
  
  Test Plan: Regression test on various Book-E hardware.
  
  Reviewed by:  nwhitehorn
  Tested by:Brandon Bergren (git_bdragon.rtk0.net)
  MFC after:2 weeks
  Differential Revision: https://reviews.freebsd.org/D19208

Modified:
  head/sys/powerpc/mpc85xx/platform_mpc85xx.c

Modified: head/sys/powerpc/mpc85xx/platform_mpc85xx.c
==
--- head/sys/powerpc/mpc85xx/platform_mpc85xx.c Tue Feb 26 22:52:41 2019
(r344612)
+++ head/sys/powerpc/mpc85xx/platform_mpc85xx.c Wed Feb 27 03:30:49 2019
(r344613)
@@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -87,6 +88,11 @@ vm_size_t ccsrbar_size;
 
 static int cpu, maxcpu;
 
+static device_t rcpm_dev;
+static void dummy_freeze(device_t, bool);
+
+static void (*freeze_timebase)(device_t, bool) = dummy_freeze;
+
 static int mpc85xx_probe(platform_t);
 static void mpc85xx_mem_regions(platform_t, struct mem_region *phys,
 int *physsz, struct mem_region *avail, int *availsz);
@@ -529,7 +535,174 @@ mpc85xx_reset(platform_t plat)
 static void
 mpc85xx_smp_timebase_sync(platform_t plat, u_long tb, int ap)
 {
+   static volatile bool tb_ready;
+   static volatile int cpu_done;
 
-   mttb(tb);
+   if (ap) {
+   /* APs.  Hold off until we get a stable timebase. */
+   while (!tb_ready)
+   atomic_thread_fence_seq_cst();
+   mttb(tb);
+   atomic_add_int(_done, 1);
+   while (cpu_done < mp_ncpus)
+   atomic_thread_fence_seq_cst();
+   } else {
+   /* BSP */
+   freeze_timebase(rcpm_dev, true);
+   tb_ready = true;
+   mttb(tb);
+   atomic_add_int(_done, 1);
+   while (cpu_done < mp_ncpus)
+   atomic_thread_fence_seq_cst();
+   freeze_timebase(rcpm_dev, false);
+   }
 }
 
+/* Fallback freeze.  In case no real handler is found in the device tree. */
+static void
+dummy_freeze(device_t dev, bool freeze)
+{
+   /* Nothing to do here, move along. */
+}
+
+
+/* QorIQ Run control/power management timebase management. */
+
+#defineRCPM_CTBENR 0x0084
+struct mpc85xx_rcpm_softc {
+   struct resource *sc_mem;
+};
+
+static void
+mpc85xx_rcpm_freeze_timebase(device_t dev, bool freeze)
+{
+   struct mpc85xx_rcpm_softc *sc;
+
+   sc = device_get_softc(dev);
+   
+   if (freeze)
+   bus_write_4(sc->sc_mem, RCPM_CTBENR, 0);
+   else
+   bus_write_4(sc->sc_mem, RCPM_CTBENR, (1 << maxcpu) - 1);
+}
+
+static int
+mpc85xx_rcpm_probe(device_t dev)
+{
+   if (!ofw_bus_is_compatible(dev, "fsl,qoriq-rcpm-1.0"))
+   return (ENXIO);
+
+   device_set_desc(dev, "QorIQ Run control and power management");
+   return (BUS_PROBE_GENERIC);
+}
+
+static int
+mpc85xx_rcpm_attach(device_t dev)
+{
+   struct mpc85xx_rcpm_softc *sc;
+   int rid;
+
+   sc = device_get_softc(dev);
+   freeze_timebase = mpc85xx_rcpm_freeze_timebase;
+   rcpm_dev = dev;
+
+   rid = 0;
+   sc->sc_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, ,
+   RF_ACTIVE | RF_SHAREABLE);
+
+   return (0);
+}
+
+static device_method_t mpc85xx_rcpm_methods[] = {
+   DEVMETHOD(device_probe, mpc85xx_rcpm_probe),
+   DEVMETHOD(device_attach,mpc85xx_rcpm_attach),
+   DEVMETHOD_END
+};
+
+static devclass_t mpc85xx_rcpm_devclass;
+
+static driver_t mpc85xx_rcpm_driver = {
+   "rcpm",
+   mpc85xx_rcpm_methods,
+   sizeof(struct mpc85xx_rcpm_softc)
+};
+
+EARLY_DRIVER_MODULE(mpc85xx_rcpm, simplebus, mpc85xx_rcpm_driver,
+   mpc85xx_rcpm_devclass, 0, 0, BUS_PASS_BUS);
+
+
+/* "Global utilities" power management/Timebase management. */
+
+#defineGUTS_DEVDISR0x0070
+#define  DEVDISR_TB0   0x4000
+#define  DEVDISR_TB1   0x1000
+
+struct mpc85xx_guts_softc {
+   struct resource *sc_mem;
+};
+
+static void
+mpc85xx_guts_freeze_timebase(device_t dev, bool freeze)
+{
+   struct mpc85xx_guts_softc *sc;
+   uint32_t devdisr;
+
+   sc = 

Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
In message <201902262102.x1ql2rio032...@slippy.cwsent.com>, Cy Schubert 
writes:
> In message , Fatih Acar 
> writes:
> > This is a multi-part message in MIME format.
> > --6A54CE5B28D823DCB8C41577
> > Content-Type: text/plain; charset=utf-8
> > Content-Transfer-Encoding: 8bit
> >
> > On 2/26/19 5:36 PM, Cy Schubert wrote:
> > > On February 26, 2019 8:11:31 AM PST, Baptiste Daroussin  > 
> > wrote:
> > >> On Tue, Feb 26, 2019 at 05:04:11PM +0100, Baptiste Daroussin wrote:
> > >>> On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
> >  On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> > >>  wrote:
> > > Author: bapt
> > > Date: Tue Feb 26 08:18:34 2019
> > > New Revision: 344569
> > > URL: https://svnweb.freebsd.org/changeset/base/344569
> > >
> > > Log:
> > >  Implement parallel mounting for ZFS filesystem
> > >  
> > >  It was first implemented on Illumos and then ported to ZoL.
> > >  This patch is a port to FreeBSD of the ZoL version.
> > >  This patch also includes a fix for a race condition that was
> > >> amended
> > >  
> > > With such patch Delphix has seen a huge decrease in latency of the
> > > mount phase
> > >  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for
> > >> details).
> > > With that current change Gandi has measured improvments that are
> > >> on par
> > > with
> > >  those reported by Delphix.
> > >  
> > >  Zol commits incorporated:
> > 
> > >>> https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c
> 70
> > c9c9e303
> > 
> > >>> https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d407
> 75
> > 67dfea21
> > >  
> > >  Reviewed by: avg, sef
> > >  Approved by: avg, sef
> > >  Obtained from:   ZoL
> > >  MFC after:   1 month
> > >  Relnotes:yes
> > >  Sponsored by:Gandi.net
> > >  Differential Revision:   https://reviews.freebsd.org/D19098
> > >
> > > Modified:
> > >  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
> > >
> > > Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> > 
> > >>> ===
> ==
> > =
> [...]
> > >
> > 
> >  This broke my systems, many filesystems fail to mount causing
> > >> nullfs late mounts to fail. No details now until tonight.
> > 
> >  Suggest we back this out until it is properly tested.
> > 
> > >>>
> > >>> What fails to mount? what message? can you provide Gandi folks more
> > >> informations
> > >>> so they can fix?
> > >>>
> > >>> I will revert if we cannot have a quick fix but let s give them a
> > >> chance to fix
> > >>> first.
> > >>>
> > >> With the proper email in CC there is a better chance to reach at them
> > >> :)
> > >>
> > >> Best regards,
> > >> Bapt
> > > 
> > > Sorry about that. I'm terribly frustrated as this broke my mail gateway, 
> ha
> > ving to fix it using juiceSSH on my phone on the bus. Ssh on the phone make
> s 
> > for a very grumpy Cy.
> > > 
> > > I did bring my personal laptop to work, so I'll try to help out testing t
> hi
> > s at noon here and maybe look at it more. I'll help out any way I can.
> > > 
> > > 
> >
> > Sorry about all this...
> > Could you try the attached patch, it should fix the issue. I don't
> > understand how this regression happened, it's not present in ZoL...
> > I'll check with Jack who worked on this when he's back from PTO.
> >
> > Thanks.
> >
> > -- 
> > Fatih ACAR
> > Gandi
> > fatih.a...@gandi.net
> >
> > --6A54CE5B28D823DCB8C41577
> > Content-Type: text/x-patch;
> >  name="mount.patch"
> > Content-Transfer-Encoding: quoted-printable
> > Content-Disposition: attachment;
> >  filename="mount.patch"
> >
> > Index: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > --- cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c   (revisi
> on 3=
> > 44590)
> > +++ cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c   (workin
> g co=
> > py)
> > @@ -1260,11 +1260,11 @@
> > if (*a =3D=3D '\0')
> > return (-1);
> > if (*b =3D=3D '\0')
> > -   return (-1);
> > +   return (1);
> > if (*a =3D=3D '/')
> > return (-1);
> > if (*b =3D=3D '/')
> > -   return (-1);
> > +   return 

Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
> On Tue, Feb 26, 2019 at 05:52:48PM +, Brooks Davis wrote:
> > On Mon, Feb 25, 2019 at 05:11:26PM -0800, K. Macy wrote:
> > > > An additional issue is that the a warning tag was not added to
> > > > sys/conf/files.  A warning along the lines of:
> > > >
> > > > warning "kernel contains GPLv2 licensed GCOV"
> > > >
> > > > needs to be added.
> > > 
> > > Yup.
> > > 
> > > >
> > > > This commit needed more through review.
> > > 
> > > How would this be achieved:? I had several people on the review and no
> > > one had substantive feedback.
> > 
> > For GPL stuff, add #core to the reviewers list and feel free to drop us
> > an email to make sure we see it promptly.
> 
> FYI, we've had phab-admin@ add a herald rule to add #core as a reviewer
> automatically for changes that add new lines containing either the SPDX
> tag or the string "GNU General Public License".  Hopefully this will
> limit future drama in this area.  Documentation updates are in also in
> progress.

Thank you!

Now can you get phab-admin to respond to my 3 emails, and jhb@'s at
least one email on the topic of the #bhyve phab rules that I carry
in my personal login.  I have made multiple requests to have this
handled, with not even a ank from phab-admin.

I ask for the 3rd time, is there plans to update the text in
the commiters guide to reflect the text of the /internal/ 
policy document?

> -- brooks
Thanks again,
-- 
Rod Grimes rgri...@freebsd.org
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Brooks Davis
On Tue, Feb 26, 2019 at 05:52:48PM +, Brooks Davis wrote:
> On Mon, Feb 25, 2019 at 05:11:26PM -0800, K. Macy wrote:
> > > An additional issue is that the a warning tag was not added to
> > > sys/conf/files.  A warning along the lines of:
> > >
> > > warning "kernel contains GPLv2 licensed GCOV"
> > >
> > > needs to be added.
> > 
> > Yup.
> > 
> > >
> > > This commit needed more through review.
> > 
> > How would this be achieved:? I had several people on the review and no
> > one had substantive feedback.
> 
> For GPL stuff, add #core to the reviewers list and feel free to drop us
> an email to make sure we see it promptly.

FYI, we've had phab-admin@ add a herald rule to add #core as a reviewer
automatically for changes that add new lines containing either the SPDX
tag or the string "GNU General Public License".  Hopefully this will
limit future drama in this area.  Documentation updates are in also in
progress.

-- Brooks


signature.asc
Description: PGP signature


Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Scott Long


> On Feb 25, 2019, at 7:18 PM, Rodney W. Grimes 
>  wrote:
> 
> 
> I think for a few reasons, I doubt you copied the whole distribution
> that this file came from, as I am sure that distribution included
> a LICENSE file.  Second if you actually read the GPL v2 documentation
> and follow what it says it says you must do this, just because some
> one else does not follow the rules of what the GPL v2 says does not
> give us to knowingling not do it.  Third this is a particular dangerious
> area for BSD to be mixing a GPL code with its kernel, to my knowlege
> we have never had any gpl code in the kernel, no have we ever
> allowed it, but thats a seperate argument, that should be made.

LOL WAT?  You, Rod, were around and quite active when GPL code was
added to the kernel in 1994-1995, aka the GPL_MATH_EMULATE
code and the EXT2FS code.  I see plenty of commits from you in
nearby code during that era.  That code was in LINT until the mid 2000’s.
I also wrote and committed a sound driver in the early 2000’s that was
(unfortunately)  GPL-encumbered.  I’m pretty sure that there was one
other sound driver from that era that was also in /sys that was GPL
encumbered.

I volunteered to have my code purged because the
hardware it supported was irrelevant.  The FPU code was purged as
part of purging 80386 support (though partially also to help reduce
GPL code in the system), and the EXT2FS code was purged because
it was severely crufty and unused.  All of this code existed just fine in
FreeBSD, served a useful purpose for its time, was supported and
accepted by Core and the community, and was retired for reasons that
were more practical than ideological.

I have a hard time taking your musings seriously at this point,
your understanding of FreeBSD seems to be severely myopic.

Scott

___
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: r344612 - head/sys/dev/flash

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 22:52:41 2019
New Revision: 344612
URL: https://svnweb.freebsd.org/changeset/base/344612

Log:
  Add a module dependency on fdt_slicer.  Also, move the PNP_INFO to its more
  usual location, down near the DRIVER_MODULE() stuff.

Modified:
  head/sys/dev/flash/at45d.c

Modified: head/sys/dev/flash/at45d.c
==
--- head/sys/dev/flash/at45d.c  Tue Feb 26 22:52:08 2019(r344611)
+++ head/sys/dev/flash/at45d.c  Tue Feb 26 22:52:41 2019(r344612)
@@ -60,7 +60,6 @@ static struct ofw_compat_data compat_data[] = {
{ "atmel,dataflash",1 },
{ NULL, 0 },
 };
-SPIBUS_PNP_INFO(compat_data);
 #endif
 
 /* This is the information returned by the MANUFACTURER_ID command. */
@@ -556,3 +555,8 @@ static driver_t at45d_driver = {
 
 DRIVER_MODULE(at45d, spibus, at45d_driver, at45d_devclass, NULL, NULL);
 MODULE_DEPEND(at45d, spibus, 1, 1, 1);
+#ifdef FDT
+MODULE_DEPEND(at45d, fdt_slicer, 1, 1, 1);
+SPIBUS_PNP_INFO(compat_data);
+#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"


Re: svn commit: r344570 - head/usr.sbin/sysrc

2019-02-26 Thread Jilles Tjoelker
On Tue, Feb 26, 2019 at 04:47:59AM -0800, Rodney W. Grimes wrote:
> [ Charset UTF-8 unsupported, converting... ]
> > Author: 0mp (ports committer)
> > Date: Tue Feb 26 09:28:10 2019
> > New Revision: 344570
> > URL: https://svnweb.freebsd.org/changeset/base/344570

> > Log:
> >   sysrc.8: Pet igor and mandoc

> This only tells the source of why you changed some,
> a good commit log entry tells me that, and what it
> is that you changed.  You normally do not need to
> name the file your changed in a commit log as the
> log is attached to the file, sometimes it does make
> since to mention a file name in a log entry when you
> are describing the changes to just that file in a
> commit that includes many files.

> A better log might of been:
>   Pet igor and mandoc.  Remove unneeded .Li, use .Fx as needed,
>   escape hard stop, and sort cross references.

Naming the affected area, file or directory can be useful to make the
commit message understandable outside of its file's context without
needing to look at the diff or list of changed files. Even better, there
is a convention of making the first line of the commit message a
summary. When following this convention, displaying just the first line
of each commit's message allows a good overview of recent changes in the
whole tree. I'm happy to see that quite a few committers follow this
convention.

An extended description can follow the summary after an empty line, but
I don't think it is necessary for this commit as the information that
would be written there is obvious from the diff.

-- 
Jilles Tjoelker
___
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: r344611 - head/sys/dev/flash

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 22:52:08 2019
New Revision: 344611
URL: https://svnweb.freebsd.org/changeset/base/344611

Log:
  Add a module dependency on fdt_slicer.

Modified:
  head/sys/dev/flash/mx25l.c

Modified: head/sys/dev/flash/mx25l.c
==
--- head/sys/dev/flash/mx25l.c  Tue Feb 26 22:50:01 2019(r344610)
+++ head/sys/dev/flash/mx25l.c  Tue Feb 26 22:52:08 2019(r344611)
@@ -686,5 +686,6 @@ static driver_t mx25l_driver = {
 DRIVER_MODULE(mx25l, spibus, mx25l_driver, mx25l_devclass, 0, 0);
 MODULE_DEPEND(mx25l, spibus, 1, 1, 1);
 #ifdef FDT
+MODULE_DEPEND(mx25l, fdt_slicer, 1, 1, 1);
 SPIBUS_PNP_INFO(compat_data);
 #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: r344610 - head/share/man/man4

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 22:50:01 2019
New Revision: 344610
URL: https://svnweb.freebsd.org/changeset/base/344610

Log:
  Add manpages for at45d(4) and mx25l(4).

Added:
  head/share/man/man4/at45d.4   (contents, props changed)
  head/share/man/man4/mx25l.4   (contents, props changed)
Modified:
  head/share/man/man4/Makefile

Modified: head/share/man/man4/Makefile
==
--- head/share/man/man4/MakefileTue Feb 26 22:34:29 2019
(r344609)
+++ head/share/man/man4/MakefileTue Feb 26 22:50:01 2019
(r344610)
@@ -52,6 +52,7 @@ MAN=  aac.4 \
${_apic.4} \
arcmsr.4 \
${_asmc.4} \
+   at45d.4 \
ata.4 \
ath.4 \
ath_ahb.4 \
@@ -301,6 +302,7 @@ MAN=aac.4 \
mvs.4 \
mwl.4 \
mwlfw.4 \
+   mx25l.4 \
mxge.4 \
my.4 \
nand.4 \

Added: head/share/man/man4/at45d.4
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man4/at45d.4 Tue Feb 26 22:50:01 2019(r344610)
@@ -0,0 +1,176 @@
+.\"
+.\" Copyright (c) 2019 Ian Lepore 
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 26, 2019
+.Dt AT45D 4
+.Os
+.Sh NAME
+.Nm at45d
+.Nd driver for DataFlash(tm) non-volatile storage devices
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following line in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device at45d"
+.Ed
+.Pp
+Alternatively, to load the driver as a
+module at boot time, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+at45d_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for the family of non-volatile storage
+devices known collectively as DataFlash(tm).
+DataFlash chips typically have part numbers beginning with AT45DB.
+The
+.Nm
+driver supports only the SPI bus versions of each AT45DB device,
+indicated by the last digit of the part number being 1 or 2.
+.Pp
+The
+.Nm
+driver uses opcode 0x9f to read the manufacturer and device ID
+data to determine whether the device is supported.
+The device ID is looked up using a table of data within the driver
+which describes the attributes of each supported device,
+such as block size, sector size, and device capacity.
+When a supported device is found, the
+.Nm
+driver creates a disk device and makes it accessible at
+.Pa /dev/flash/at45d? .
+The new disk device is then tasted by the available
+.Xr geom 4
+modules as with any disk device.
+.Sh HARDWARE
+The
+.Nm
+driver provides support for the following devices:
+.Pp
+.Bl -bullet -compact
+.It
+AT45DB011B
+.It
+AT45DB021B
+.It
+AT45DB041x
+.It
+AT45DB081B
+.It
+AT45DB161x
+.It
+AT45DB321x
+.It
+AT45DB321x
+.It
+AT45DB641E
+.It
+AT45DB642x
+.El
+.Sh FDT CONFIGURATION
+On an
+.Xr fdt 4
+based system, the
+.Nm
+device is defined as a slave device subnode
+of the SPI bus controller node.
+All properties documented in the
+.Va spibus.txt
+bindings document can be used with the
+.Nm
+device.
+The most commonly-used ones are documented below.
+.Pp
+The following properties are required in the
+.Nm
+device subnode:
+.Bl -tag -width indent
+.It Va compatible
+Must be the string "atmel,at45".
+.It Va reg
+Chip select address of device.
+.It Va spi-max-frequency
+The maximum bus frequency to use when communicating with this slave device.
+Actual bus speed may be lower, depending on the capabilities of the SPI
+bus controller hardware.
+.El
+.Pp
+The following properties are optional for the
+.Nm
+device subnode:
+.Bl -tag -width indent
+.It Va spi-cpha
+Empty 

svn commit: r344609 - in head/sys: dev/fdt modules/fdt modules/fdt/fdt_slicer

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 22:34:29 2019
New Revision: 344609
URL: https://svnweb.freebsd.org/changeset/base/344609

Log:
  Make it possible to load fdt_slicer as a module (unloading works too fwiw).

Added:
  head/sys/modules/fdt/
  head/sys/modules/fdt/Makefile   (contents, props changed)
  head/sys/modules/fdt/fdt_slicer/
  head/sys/modules/fdt/fdt_slicer/Makefile   (contents, props changed)
Modified:
  head/sys/dev/fdt/fdt_slicer.c

Modified: head/sys/dev/fdt/fdt_slicer.c
==
--- head/sys/dev/fdt/fdt_slicer.c   Tue Feb 26 22:07:59 2019
(r344608)
+++ head/sys/dev/fdt/fdt_slicer.c   Tue Feb 26 22:34:29 2019
(r344609)
@@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include 
@@ -131,10 +132,37 @@ fdt_slicer_init(void)
   FALSE);
 }
 
+static void
+fdt_slicer_cleanup(void)
+{
+
+   flash_register_slicer(NULL, FLASH_SLICES_TYPE_NAND, true);
+   flash_register_slicer(NULL, FLASH_SLICES_TYPE_CFI, true);
+   flash_register_slicer(NULL, FLASH_SLICES_TYPE_SPI, true);
+}
+
 /*
  * Must be initialized after GEOM classes (SI_SUB_DRIVERS/SI_ORDER_FIRST),
  * i. e. after g_init() is called, due to the use of the GEOM topology_lock
  * in flash_register_slicer().  However, must be before SI_SUB_CONFIGURE.
  */
-SYSINIT(fdt_slicer_rootconf, SI_SUB_DRIVERS, SI_ORDER_SECOND, fdt_slicer_init,
-NULL);
+SYSINIT(fdt_slicer, SI_SUB_DRIVERS, SI_ORDER_SECOND, fdt_slicer_init, NULL);
+SYSUNINIT(fdt_slicer, SI_SUB_DRIVERS, SI_ORDER_SECOND, fdt_slicer_cleanup, 
NULL);
+
+static int
+mod_handler(module_t mod, int type, void *data)
+{
+
+   /*
+* Nothing to do here: the SYSINIT/SYSUNINIT defined above run
+* automatically at module load/unload time.
+*/
+   return (0);
+}
+
+static moduledata_t fdt_slicer_mod = {
+   "fdt_slicer", mod_handler, NULL
+};
+
+DECLARE_MODULE(fdt_slicer, fdt_slicer_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND);
+MODULE_VERSION(fdt_slicer, 1);

Added: head/sys/modules/fdt/Makefile
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/modules/fdt/Makefile   Tue Feb 26 22:34:29 2019
(r344609)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+# Build dev/fdt modules.
+
+SUBDIR = \
+   fdt_slicer \
+   
+.include 

Added: head/sys/modules/fdt/fdt_slicer/Makefile
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/modules/fdt/fdt_slicer/MakefileTue Feb 26 22:34:29 2019
(r344609)
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/dev/fdt
+
+KMOD=  fdt_slicer
+SRCS=  fdt_slicer.c
+
+# Generated files...
+SRCS+= \
+   ofw_bus_if.h \
+   opt_platform.h \
+
+.include 
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Shawn Webb
On Tue, Feb 26, 2019 at 10:18:45AM -0700, Warner Losh wrote:
> On Tue, Feb 26, 2019 at 8:46 AM Shawn Webb 
> wrote:
> 
> > On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > > The modest increase in activation energy for that task seems worth it
> > > > > for the short-term gains of reduced integration cost (this code will
> > > > > greatly improve our ZFS-on-Linux test coverage.)
> > > > >
> > > > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > > > license statements.  The standard GPL v2.0 boiler plate should be
> > added
> > > > > to this file along side the tag.
> > > >
> > > > I've copied the full copyright attribution that is in the
> > > > corresponding files on Linux. Is there some reason why FreeBSD
> > > > requires the files to be inflated with the full license text where the
> > > > original lacks it?
> > >
> > > I think for a few reasons, I doubt you copied the whole distribution
> > > that this file came from, as I am sure that distribution included
> > > a LICENSE file.  Second if you actually read the GPL v2 documentation
> > > and follow what it says it says you must do this, just because some
> > > one else does not follow the rules of what the GPL v2 says does not
> > > give us to knowingling not do it.  Third this is a particular dangerious
> > > area for BSD to be mixing a GPL code with its kernel, to my knowlege
> > > we have never had any gpl code in the kernel, no have we ever
> > > allowed it, but thats a seperate argument, that should be made.
> >
> > Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
> >
> 
> No. dts gets compiled into dtb. dtb is a separate work loaded by the boot
> loader. While one can compile it into the kernel, we don't ship like that.
> 
> There's also a question as to whether or not these files are text
> representation of the hardware, and there being only one way to represent
> it (making it not copyrightable under at least US case law since it's a
> database). That question hasn't been litigated. Many hardware companies
> also dual license the dts. Since we're not incorporating it into the
> kernel, but merely using it as a standardized table (there's a separate
> group that controls the dts/dtb spec), I think we're safe from that angle
> as well.
> 
> There's benefit from having it in-tree because the version of the spec
> evolves over time, and having the right version makes it harder to push
> this off into a port. Also, having them in-tree makes the project's
> compliance with GPL a no-op because it's all there in the open in a tagged
> VCS.
> 
> tl;dr: I don't think this is an issue.

Awesome. Thanks for the clarification. I'm now curious if this is
documented outside of random emails in svn-src-all@. I'm 100% sure I'm
not the only one who needed clarification on DTS/DTB licensing,
especially in the context of FreeBSD.

> 
> 
> > I, too, would like less GPL in project, both in userland in kernel.
> > But, I can understand the desire for gcov. Note that I'm not
> > advocating either way that FreeBSD perform an action. ;)
> >
> 
> Given this is for TEST kernels, there's no issue here.  While we'd like to
> be GPL free, let's not cut off our nose to spite our face. Given the
> interactions between different bits, the FreeBSD selling point of "well
> integrated" I think trumps the purity arguments because it's not code
> anybody would ever ship (and if they did, they'd get the proper warnings).

Thanks,

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
Tor+XMPP+OTR:latt...@is.a.hacker.sx
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Shawn Webb
On Tue, Feb 26, 2019 at 08:27:40AM -0800, Rodney W. Grimes wrote:
> > On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > > The modest increase in activation energy for that task seems worth it
> > > > > for the short-term gains of reduced integration cost (this code will
> > > > > greatly improve our ZFS-on-Linux test coverage.)
> > > > >
> > > > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > > > license statements.  The standard GPL v2.0 boiler plate should be 
> > > > > added
> > > > > to this file along side the tag.
> > > > 
> > > > I've copied the full copyright attribution that is in the
> > > > corresponding files on Linux. Is there some reason why FreeBSD
> > > > requires the files to be inflated with the full license text where the
> > > > original lacks it?
> > > 
> > > I think for a few reasons, I doubt you copied the whole distribution
> > > that this file came from, as I am sure that distribution included
> > > a LICENSE file.  Second if you actually read the GPL v2 documentation
> > > and follow what it says it says you must do this, just because some
> > > one else does not follow the rules of what the GPL v2 says does not
> > > give us to knowingling not do it.  Third this is a particular dangerious
> > > area for BSD to be mixing a GPL code with its kernel, to my knowlege
> > > we have never had any gpl code in the kernel, no have we ever
> > > allowed it, but thats a seperate argument, that should be made.
> > 
> > Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
> > 
> > I, too, would like less GPL in project, both in userland in kernel.
> > But, I can understand the desire for gcov. Note that I'm not
> > advocating either way that FreeBSD perform an action. ;)
> 
> Didnt we just remove an inbase, compiling BSD licensed chunk of
> code called DRM and move it to ports.  So if that was possible
> this should be very rapidly applied here and this issue goes away.

DRM != DTS/DTB

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
Tor+XMPP+OTR:latt...@is.a.hacker.sx
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


svn commit: r344608 - head/sys/sys

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 22:07:59 2019
New Revision: 344608
URL: https://svnweb.freebsd.org/changeset/base/344608

Log:
  Update a comment to reflect reality; no functional changes.

Modified:
  head/sys/sys/slicer.h

Modified: head/sys/sys/slicer.h
==
--- head/sys/sys/slicer.h   Tue Feb 26 22:06:25 2019(r344607)
+++ head/sys/sys/slicer.h   Tue Feb 26 22:07:59 2019(r344608)
@@ -58,7 +58,7 @@ typedef int (*flash_slicer_t)(device_t dev, const char
 #defineFLASH_SLICES_TYPE_SPI   2
 #defineFLASH_SLICES_TYPE_MMC   3
 
-/* Use NULL for deregistering a slicer */
+/* Use NULL and set force to true for deregistering a slicer */
 void flash_register_slicer(flash_slicer_t slicer, u_int type, bool force);
 
 #endif /* _KERNEL */
___
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: r344607 - head/sys/conf

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 22:06:25 2019
New Revision: 344607
URL: https://svnweb.freebsd.org/changeset/base/344607

Log:
  Compile fdt_slicer and geom_flashmap when the at45d device is included.

Modified:
  head/sys/conf/files

Modified: head/sys/conf/files
==
--- head/sys/conf/files Tue Feb 26 20:50:49 2019(r344606)
+++ head/sys/conf/files Tue Feb 26 22:06:25 2019(r344607)
@@ -1721,7 +1721,7 @@ dev/fdt/fdt_clock_if.moptional fdt fdt_clock
 dev/fdt/fdt_common.c   optional fdt
 dev/fdt/fdt_pinctrl.c  optional fdt fdt_pinctrl
 dev/fdt/fdt_pinctrl_if.m   optional fdt fdt_pinctrl
-dev/fdt/fdt_slicer.c   optional fdt cfi | fdt nand | fdt mx25l | fdt 
n25q
+dev/fdt/fdt_slicer.c   optional fdt cfi | fdt nand | fdt mx25l | fdt 
n25q | fdt at45d
 dev/fdt/fdt_static_dtb.S   optional fdt fdt_dtb_static \
dependency  "fdt_dtb_file"
 dev/fdt/simplebus.coptional fdt
@@ -3611,7 +3611,7 @@ geom/geom_disk.c  standard
 geom/geom_dump.c   standard
 geom/geom_event.c  standard
 geom/geom_fox.coptional geom_fox
-geom/geom_flashmap.c   optional fdt cfi | fdt nand | fdt mx25l | mmcsd 
| fdt n25q
+geom/geom_flashmap.c   optional fdt cfi | fdt nand | fdt mx25l | mmcsd 
| fdt n25q | fdt at45d
 geom/geom_io.c standard
 geom/geom_kern.c   standard
 geom/geom_map.coptional geom_map
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
In message <201902261659.x1qgxkl0046...@pdx.rh.cn85.dnsmgr.net>, 
"Rodney W. Gri
mes" writes:
> > On Tue, Feb 26, 2019 at 10:14 AM Cy Schubert 
> > wrote:
> > 
> > > On February 26, 2019 7:48:27 AM PST, Cy Schubert <
> > > cy.schub...@cschubert.com> wrote:
> > > >On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> > > > wrote:
> > >
> > 
> > [trimming the unneeded pile of commit body]
> > 
> > 
> > > >This broke my systems, many filesystems fail to mount causing nullfs
> > > >late mounts to fail. No details now until tonight.
> > > >
> > > >Suggest we back this out until it is properly tested.
> > >
> > > Nested zfs filesystems seem not to be handled properly or possibly not
> > > supported any more. This explains my mail gateway also not mounting all
> > > filesystems in /home. It was odd that dovecot stopped working.
> > >
> > > The symptom of the problem is zfs mount -a no longer mounts all
> > > filesystems. Zfs mount fails saying the filesystem is already mounted. Th
> e
> > > workaround is to zfs umount each affected zfs dataset by hand and zfs mou
> nt
> > > it by hand.
> > >
> > > Generally this has screwed up sites that have hundreds (in my case 122)
> > > zfs datasets. The work around might be to script testing each mount,
> > > unmounting and remounting if necessary.
> > >
> > > I'm being sarcastic about creating an rc script to clean this up. This
> > > needs to be backed out and tested properly before being committed.
> > >
> > >
> > I don't know what you mean by "nested zfs filesystems" -- do you mean a
> > zpool within a zvol?
> > That has been unsupported for a long time, IIRC.  And
> That had better not be unsupported, that is the prefered technology
> for all of the virtualization stuff, bhyve, virtualbox, qemu, etc.
>
> I think by nested zfs it sounds like he is talking about datasets
> inside of other datasets just from reading "all filesystems in /home"
>
>
> > I'm not sure what else "nested filesystems" would be, since having (e.g.)
> > separate zfs filesystems for /usr and /usr/ports is so common that surely
> > it has already been tested...
>
> It might be when the intervening dataset is marked canmount=off?
> Though that should fail for the /usr /usr/foo case, as usr is normally
> marked this way.  Maybe some other special case.

I do have some mountpoint=none datasets with mountpoint=/somewhere-else.
 My tank/var tree is a good example of the complete mix using none, 
legacy and specified mountpoints.


-- 
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"


Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Toomas Soome via svn-src-head



> On 26 Feb 2019, at 23:02, Cy Schubert  wrote:
> 
> In message , Fatih Acar 
> writes:
>> This is a multi-part message in MIME format.
>> --6A54CE5B28D823DCB8C41577
>> Content-Type: text/plain; charset=utf-8
>> Content-Transfer-Encoding: 8bit
>> 
>> On 2/26/19 5:36 PM, Cy Schubert wrote:
>>> On February 26, 2019 8:11:31 AM PST, Baptiste Daroussin  
>> wrote:
 On Tue, Feb 26, 2019 at 05:04:11PM +0100, Baptiste Daroussin wrote:
> On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
>> On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
  wrote:
>>> Author: bapt
>>> Date: Tue Feb 26 08:18:34 2019
>>> New Revision: 344569
>>> URL: https://svnweb.freebsd.org/changeset/base/344569
>>> 
>>> Log:
>>> Implement parallel mounting for ZFS filesystem
>>> 
>>> It was first implemented on Illumos and then ported to ZoL.
>>> This patch is a port to FreeBSD of the ZoL version.
>>> This patch also includes a fix for a race condition that was
 amended
>>> 
>>> With such patch Delphix has seen a huge decrease in latency of the
>>> mount phase
>>> (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for
 details).
>>> With that current change Gandi has measured improvments that are
 on par
>>> with
>>> those reported by Delphix.
>>> 
>>> Zol commits incorporated:
>> 
> https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70
>> c9c9e303
>> 
> https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d40775
>> 67dfea21
>>> 
>>> Reviewed by:avg, sef
>>> Approved by:avg, sef
>>> Obtained from:  ZoL
>>> MFC after:  1 month
>>> Relnotes:   yes
>>> Sponsored by:   Gandi.net
>>> Differential Revision:  https://reviews.freebsd.org/D19098
>>> 
>>> Modified:
>>> head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>>> head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
>>> head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
>>> head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
>>> head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>>> 
>>> Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>> 
> =
>> =
> [...]
>>> 
>> 
>> This broke my systems, many filesystems fail to mount causing
 nullfs late mounts to fail. No details now until tonight.
>> 
>> Suggest we back this out until it is properly tested.
>> 
> 
> What fails to mount? what message? can you provide Gandi folks more
 informations
> so they can fix?
> 
> I will revert if we cannot have a quick fix but let s give them a
 chance to fix
> first.
> 
 With the proper email in CC there is a better chance to reach at them
 :)
 
 Best regards,
 Bapt
>>> 
>>> Sorry about that. I'm terribly frustrated as this broke my mail gateway, ha
>> ving to fix it using juiceSSH on my phone on the bus. Ssh on the phone makes 
>> for a very grumpy Cy.
>>> 
>>> I did bring my personal laptop to work, so I'll try to help out testing thi
>> s at noon here and maybe look at it more. I'll help out any way I can.
>>> 
>>> 
>> 
>> Sorry about all this...
>> Could you try the attached patch, it should fix the issue. I don't
>> understand how this regression happened, it's not present in ZoL...
>> I'll check with Jack who worked on this when he's back from PTO.
>> 
>> Thanks.
>> 
>> -- 
>> Fatih ACAR
>> Gandi
>> fatih.a...@gandi.net
>> 
>> --6A54CE5B28D823DCB8C41577
>> Content-Type: text/x-patch;
>> name="mount.patch"
>> Content-Transfer-Encoding: quoted-printable
>> Content-Disposition: attachment;
>> filename="mount.patch"
>> 
>> Index: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> --- cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>> (revision 3=
>> 44590)
>> +++ cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>> (working co=
>> py)
>> @@ -1260,11 +1260,11 @@
>>  if (*a =3D=3D '\0')
>>  return (-1);
>>  if (*b =3D=3D '\0')
>> -return (-1);
>> +return (1);
>>  if (*a =3D=3D '/')
>>  return (-1);
>>  if (*b =3D=3D '/')
>> -return (-1);
>> +return (1);
>>  return (*a < *b ? -1 : *a > *b);
>>  }
>> =20
>> 
> 
> Thanks. This fixes this particular issue.
> 
> There is one other minor issues that should also be addressed. The mount 
> message
> at boot previously displayed:
> 
> Mounting 

Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
In message , Fatih Acar 
writes:
> This is a multi-part message in MIME format.
> --6A54CE5B28D823DCB8C41577
> Content-Type: text/plain; charset=utf-8
> Content-Transfer-Encoding: 8bit
>
> On 2/26/19 5:36 PM, Cy Schubert wrote:
> > On February 26, 2019 8:11:31 AM PST, Baptiste Daroussin  
> wrote:
> >> On Tue, Feb 26, 2019 at 05:04:11PM +0100, Baptiste Daroussin wrote:
> >>> On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
>  On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> >>  wrote:
> > Author: bapt
> > Date: Tue Feb 26 08:18:34 2019
> > New Revision: 344569
> > URL: https://svnweb.freebsd.org/changeset/base/344569
> >
> > Log:
> >  Implement parallel mounting for ZFS filesystem
> >  
> >  It was first implemented on Illumos and then ported to ZoL.
> >  This patch is a port to FreeBSD of the ZoL version.
> >  This patch also includes a fix for a race condition that was
> >> amended
> >  
> > With such patch Delphix has seen a huge decrease in latency of the
> > mount phase
> >  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for
> >> details).
> > With that current change Gandi has measured improvments that are
> >> on par
> > with
> >  those reported by Delphix.
> >  
> >  Zol commits incorporated:
> 
> >>> https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70
> c9c9e303
> 
> >>> https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d40775
> 67dfea21
> >  
> >  Reviewed by:   avg, sef
> >  Approved by:   avg, sef
> >  Obtained from: ZoL
> >  MFC after: 1 month
> >  Relnotes:  yes
> >  Sponsored by:  Gandi.net
> >  Differential Revision: https://reviews.freebsd.org/D19098
> >
> > Modified:
> >  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
> >
> > Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> 
> >>> =
> =
[...]
> >
> 
>  This broke my systems, many filesystems fail to mount causing
> >> nullfs late mounts to fail. No details now until tonight.
> 
>  Suggest we back this out until it is properly tested.
> 
> >>>
> >>> What fails to mount? what message? can you provide Gandi folks more
> >> informations
> >>> so they can fix?
> >>>
> >>> I will revert if we cannot have a quick fix but let s give them a
> >> chance to fix
> >>> first.
> >>>
> >> With the proper email in CC there is a better chance to reach at them
> >> :)
> >>
> >> Best regards,
> >> Bapt
> > 
> > Sorry about that. I'm terribly frustrated as this broke my mail gateway, ha
> ving to fix it using juiceSSH on my phone on the bus. Ssh on the phone makes 
> for a very grumpy Cy.
> > 
> > I did bring my personal laptop to work, so I'll try to help out testing thi
> s at noon here and maybe look at it more. I'll help out any way I can.
> > 
> > 
>
> Sorry about all this...
> Could you try the attached patch, it should fix the issue. I don't
> understand how this regression happened, it's not present in ZoL...
> I'll check with Jack who worked on this when he's back from PTO.
>
> Thanks.
>
> -- 
> Fatih ACAR
> Gandi
> fatih.a...@gandi.net
>
> --6A54CE5B28D823DCB8C41577
> Content-Type: text/x-patch;
>  name="mount.patch"
> Content-Transfer-Encoding: quoted-printable
> Content-Disposition: attachment;
>  filename="mount.patch"
>
> Index: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c (revision 3=
> 44590)
> +++ cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c (working co=
> py)
> @@ -1260,11 +1260,11 @@
>   if (*a =3D=3D '\0')
>   return (-1);
>   if (*b =3D=3D '\0')
> - return (-1);
> + return (1);
>   if (*a =3D=3D '/')
>   return (-1);
>   if (*b =3D=3D '/')
> - return (-1);
> + return (1);
>   return (*a < *b ? -1 : *a > *b);
>   }
> =20
>

Thanks. This fixes this particular issue.

There is one other minor issues that should also be addressed. The mount message
at boot previously displayed:

Mounting ZFS filesystems: (44/159)^H^H^H^H^H^H^H^H(106/159)^H^H^H^H^H^H^H^H^H(15
9/159)^M

Now it displays:

(null): 

Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
In message <20a4a5ab-f088-537b-8666-e6c6f4317...@freebsd.org>, John 
Baldwin wri
tes:
> On 2/26/19 8:59 AM, Rodney W. Grimes wrote:
> >> On Tue, Feb 26, 2019 at 10:14 AM Cy Schubert 
> >> wrote:
> >>
> >>> On February 26, 2019 7:48:27 AM PST, Cy Schubert <
> >>> cy.schub...@cschubert.com> wrote:
>  On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
>   wrote:
> >>>
> >>
> >> [trimming the unneeded pile of commit body]
> >>
> >>
>  This broke my systems, many filesystems fail to mount causing nullfs
>  late mounts to fail. No details now until tonight.
> 
>  Suggest we back this out until it is properly tested.
> >>>
> >>> Nested zfs filesystems seem not to be handled properly or possibly not
> >>> supported any more. This explains my mail gateway also not mounting all
> >>> filesystems in /home. It was odd that dovecot stopped working.
> >>>
> >>> The symptom of the problem is zfs mount -a no longer mounts all
> >>> filesystems. Zfs mount fails saying the filesystem is already mounted. Th
> e
> >>> workaround is to zfs umount each affected zfs dataset by hand and zfs mou
> nt
> >>> it by hand.
> >>>
> >>> Generally this has screwed up sites that have hundreds (in my case 122)
> >>> zfs datasets. The work around might be to script testing each mount,
> >>> unmounting and remounting if necessary.
> >>>
> >>> I'm being sarcastic about creating an rc script to clean this up. This
> >>> needs to be backed out and tested properly before being committed.
> >>>
> >>>
> >> I don't know what you mean by "nested zfs filesystems" -- do you mean a
> >> zpool within a zvol?
> >> That has been unsupported for a long time, IIRC.  And
> > That had better not be unsupported, that is the prefered technology
> > for all of the virtualization stuff, bhyve, virtualbox, qemu, etc.
>
> I think Ben is referring to using the nested zpool on the host itself rather
> than in the guest.  We do actually let you do such crazy things I think (I
> use UFS in my VMs usually and fsck on the host against /dev/zvol/bhyve/p
> 2
> can be faster than fsck in the booted guest), but normally the host just host
> s
> the zvol and the guest manages filesystems in the volume.  Mounting the
> nested zpool on the host is probably best characterized as running with
> scissors.

I was talking about nested datasets, i.e. tank/freebsd/git/current and 
tank/freebsd/git/ports are four levels deep. In my case the ports 
dataset was mounted while the current dataset was not, though zfs 
believed it was. unmounting the current dataset and remounting it, zfs 
umount .../current; zfs mount .../current worked around the issue.


-- 
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: r344606 - head/sys/dev/flash

2019-02-26 Thread Ian Lepore
Author: ian
Date: Tue Feb 26 20:50:49 2019
New Revision: 344606
URL: https://svnweb.freebsd.org/changeset/base/344606

Log:
  Add support for geom_flashmap by providing a getattr() for "SPI:device".

Modified:
  head/sys/dev/flash/at45d.c

Modified: head/sys/dev/flash/at45d.c
==
--- head/sys/dev/flash/at45d.c  Tue Feb 26 19:55:03 2019(r344605)
+++ head/sys/dev/flash/at45d.c  Tue Feb 26 20:50:49 2019(r344606)
@@ -119,6 +119,7 @@ static device_probe_t at45d_probe;
 /* disk routines */
 static int at45d_close(struct disk *dp);
 static int at45d_open(struct disk *dp);
+static int at45d_getattr(struct bio *bp);
 static void at45d_strategy(struct bio *bp);
 static void at45d_task(void *arg);
 
@@ -338,6 +339,7 @@ at45d_delayed_attach(void *xsc)
sc->disk->d_open = at45d_open;
sc->disk->d_close = at45d_close;
sc->disk->d_strategy = at45d_strategy;
+   sc->disk->d_getattr = at45d_getattr;
sc->disk->d_name = "flash/at45d";
sc->disk->d_drv1 = sc;
sc->disk->d_maxsize = DFLTPHYS;
@@ -365,6 +367,22 @@ static int
 at45d_close(struct disk *dp)
 {
 
+   return (0);
+}
+
+static int
+at45d_getattr(struct bio *bp)
+{
+   struct at45d_softc *sc;
+
+   if (bp->bio_disk == NULL || bp->bio_disk->d_drv1 == NULL)
+   return (ENXIO);
+   if (strcmp(bp->bio_attribute, "SPI::device") != 0)
+   return (-1);
+   sc = bp->bio_disk->d_drv1;
+   if (bp->bio_length != sizeof(sc->dev))
+   return (EFAULT);
+   bcopy(>dev, bp->bio_data, sizeof(sc->dev));
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: r344605 - in head: share/man/man4 sys/conf sys/contrib/xz-embedded/freebsd sys/dev/xz sys/geom/uzip sys/mips/conf sys/modules sys/modules/geom/geom_uzip sys/modules/xz

2019-02-26 Thread Konstantin Belousov
Author: kib
Date: Tue Feb 26 19:55:03 2019
New Revision: 344605
URL: https://svnweb.freebsd.org/changeset/base/344605

Log:
  Modularize xz.
  
  Embedded lzma decompression library becomes a module usable by other
  consumers, in addition to geom_uzip.
  
  Most important code changes are
  - removal of XZ_DEC_SINGLE define, we need the code to work
with XZ_DEC_DYNALLOC;
  - xz_crc32_init() call is removed from geom_uzip, xz module handles
initialization on its own.
  
  xz is no longer embedded into geom_uzip, instead the depend line for
  the module is provided, and corresponding kernel option is added to
  each MIPS kernel config file using geom_uzip.
  
  The commit also carries unrelated cleanup by removing excess "device 
geom_uzip"
  in places which were missed in r344479.
  
  Reviewed by:  cem, hselasky, ray, slavash (previous versions)
  Sponsored by: Mellanox Technologies
  Differential revision:https://reviews.freebsd.org/D19266
  MFC after:3 weeks

Added:
  head/sys/dev/xz/
  head/sys/dev/xz/xz_mod.c
 - copied, changed from r344604, 
head/sys/contrib/xz-embedded/freebsd/xz_malloc.c
  head/sys/modules/xz/
  head/sys/modules/xz/Makefile   (contents, props changed)
Deleted:
  head/sys/contrib/xz-embedded/freebsd/xz_malloc.c
Modified:
  head/share/man/man4/geom_uzip.4
  head/sys/conf/NOTES
  head/sys/conf/files
  head/sys/contrib/xz-embedded/freebsd/xz_config.h
  head/sys/geom/uzip/g_uzip.c
  head/sys/geom/uzip/g_uzip_lzma.c
  head/sys/mips/conf/ALFA_HORNET_UB
  head/sys/mips/conf/AP121
  head/sys/mips/conf/AP135
  head/sys/mips/conf/AP143
  head/sys/mips/conf/AP91
  head/sys/mips/conf/AP93
  head/sys/mips/conf/AP94
  head/sys/mips/conf/AP96
  head/sys/mips/conf/BCM
  head/sys/mips/conf/CARAMBOLA2
  head/sys/mips/conf/DB120
  head/sys/mips/conf/DIR-655A1
  head/sys/mips/conf/DIR-825B1
  head/sys/mips/conf/ENH200
  head/sys/mips/conf/MT7620A_FDT
  head/sys/mips/conf/MT7620N_FDT
  head/sys/mips/conf/MT7621_FDT
  head/sys/mips/conf/MT7628_FDT
  head/sys/mips/conf/ONIONOMEGA
  head/sys/mips/conf/PB47
  head/sys/mips/conf/PB92
  head/sys/mips/conf/PICOSTATION_M2HP
  head/sys/mips/conf/ROCKET_M2HP
  head/sys/mips/conf/ROUTERSTATION
  head/sys/mips/conf/ROUTERSTATION_MFS
  head/sys/mips/conf/RSPRO
  head/sys/mips/conf/RSPRO_MFS
  head/sys/mips/conf/RSPRO_STANDALONE
  head/sys/mips/conf/RT3050_FDT
  head/sys/mips/conf/RT3352_FDT
  head/sys/mips/conf/RT3883_FDT
  head/sys/mips/conf/RT5350_FDT
  head/sys/mips/conf/TL-ARCHERC7V2
  head/sys/mips/conf/TL-WDR4300
  head/sys/mips/conf/TL-WR1043NDv2
  head/sys/mips/conf/TL-WR740Nv4
  head/sys/mips/conf/TP-MR3040
  head/sys/mips/conf/TP-WN1043ND
  head/sys/mips/conf/WZR-300HP
  head/sys/mips/conf/WZR-HPAG300H
  head/sys/mips/conf/std.XLP
  head/sys/modules/Makefile
  head/sys/modules/geom/geom_uzip/Makefile

Modified: head/share/man/man4/geom_uzip.4
==
--- head/share/man/man4/geom_uzip.4 Tue Feb 26 19:36:57 2019
(r344604)
+++ head/share/man/man4/geom_uzip.4 Tue Feb 26 19:55:03 2019
(r344605)
@@ -36,6 +36,7 @@ To compile this driver into the kernel,
 place the following line in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device xz"
 .Cd "options GEOM_UZIP"
 .Ed
 .Pp

Modified: head/sys/conf/NOTES
==
--- head/sys/conf/NOTES Tue Feb 26 19:36:57 2019(r344604)
+++ head/sys/conf/NOTES Tue Feb 26 19:55:03 2019(r344605)
@@ -3004,3 +3004,5 @@ devicen25q# 
 device spigen  # Generic access to SPI devices from userland.
 # Enable legacy /dev/spigenN name aliases for /dev/spigenX.Y devices.
 optionsSPIGEN_LEGACY_CDEVNAME # legacy device names for spigen
+
+device xz  # xz_embedded LZMA de-compression library

Modified: head/sys/conf/files
==
--- head/sys/conf/files Tue Feb 26 19:36:57 2019(r344604)
+++ head/sys/conf/files Tue Feb 26 19:55:03 2019(r344605)
@@ -636,6 +636,17 @@ contrib/ngatm/netnatm/sig/sig_unimsgcpy.c optional nga
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
 contrib/ngatm/netnatm/sig/sig_verify.c optional ngatm_uni \
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
+# xz
+dev/xz/xz_mod.coptional xz \
+   compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ 
-I$S/contrib/xz-embedded/linux/lib/xz/ 
-I$S/contrib/xz-embedded/linux/include/linux/"
+contrib/xz-embedded/linux/lib/xz/xz_crc32.coptional xz \
+   compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ 
-I$S/contrib/xz-embedded/linux/lib/xz/ 
-I$S/contrib/xz-embedded/linux/include/linux/"
+contrib/xz-embedded/linux/lib/xz/xz_dec_bcj.c  optional xz \
+   compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ 
-I$S/contrib/xz-embedded/linux/lib/xz/ 

svn commit: r344602 - in head: crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/aes/asm crypto/openssl/crypto/asn1 crypto/openssl/crypto/bio crypto/openssl/crypto/bn c...

2019-02-26 Thread Jung-uk Kim
Author: jkim
Date: Tue Feb 26 19:31:33 2019
New Revision: 344602
URL: https://svnweb.freebsd.org/changeset/base/344602

Log:
  Merge OpenSSL 1.1.1b.

Modified:
  head/crypto/openssl/CHANGES
  head/crypto/openssl/CONTRIBUTING
  head/crypto/openssl/Configure
  head/crypto/openssl/INSTALL
  head/crypto/openssl/LICENSE
  head/crypto/openssl/NEWS
  head/crypto/openssl/README
  head/crypto/openssl/apps/apps.c
  head/crypto/openssl/apps/ct_log_list.cnf
  head/crypto/openssl/apps/dh1024.pem
  head/crypto/openssl/apps/dh2048.pem
  head/crypto/openssl/apps/dh4096.pem
  head/crypto/openssl/apps/ocsp.c
  head/crypto/openssl/apps/openssl.cnf
  head/crypto/openssl/apps/pkcs12.c
  head/crypto/openssl/apps/rehash.c
  head/crypto/openssl/apps/s_cb.c
  head/crypto/openssl/apps/s_client.c
  head/crypto/openssl/apps/s_server.c
  head/crypto/openssl/apps/speed.c
  head/crypto/openssl/apps/verify.c
  head/crypto/openssl/config
  head/crypto/openssl/crypto/aes/asm/aes-x86_64.pl
  head/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl
  head/crypto/openssl/crypto/aes/asm/aesv8-armx.pl
  head/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl
  head/crypto/openssl/crypto/aes/asm/vpaes-armv8.pl
  head/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl
  head/crypto/openssl/crypto/armcap.c
  head/crypto/openssl/crypto/asn1/a_digest.c
  head/crypto/openssl/crypto/asn1/a_sign.c
  head/crypto/openssl/crypto/asn1/a_verify.c
  head/crypto/openssl/crypto/asn1/ameth_lib.c
  head/crypto/openssl/crypto/asn1/charmap.h
  head/crypto/openssl/crypto/asn1/charmap.pl
  head/crypto/openssl/crypto/asn1/d2i_pu.c
  head/crypto/openssl/crypto/bio/b_addr.c
  head/crypto/openssl/crypto/bio/bss_file.c
  head/crypto/openssl/crypto/bio/bss_mem.c
  head/crypto/openssl/crypto/bn/asm/armv8-mont.pl
  head/crypto/openssl/crypto/bn/asm/ia64.S
  head/crypto/openssl/crypto/bn/asm/mips.pl
  head/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl
  head/crypto/openssl/crypto/bn/asm/sparcv8plus.S
  head/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl
  head/crypto/openssl/crypto/bn/bn_ctx.c
  head/crypto/openssl/crypto/bn/bn_depr.c
  head/crypto/openssl/crypto/bn/bn_div.c
  head/crypto/openssl/crypto/bn/bn_exp.c
  head/crypto/openssl/crypto/bn/bn_lib.c
  head/crypto/openssl/crypto/bn/bn_prime.h
  head/crypto/openssl/crypto/bn/bn_prime.pl
  head/crypto/openssl/crypto/bn/bn_shift.c
  head/crypto/openssl/crypto/chacha/asm/chacha-armv8.pl
  head/crypto/openssl/crypto/cms/cms_kari.c
  head/crypto/openssl/crypto/cms/cms_pwri.c
  head/crypto/openssl/crypto/conf/conf_def.c
  head/crypto/openssl/crypto/conf/conf_def.h
  head/crypto/openssl/crypto/conf/conf_lib.c
  head/crypto/openssl/crypto/conf/conf_mod.c
  head/crypto/openssl/crypto/conf/conf_sap.c
  head/crypto/openssl/crypto/conf/conf_ssl.c
  head/crypto/openssl/crypto/conf/keysets.pl
  head/crypto/openssl/crypto/cryptlib.c
  head/crypto/openssl/crypto/des/asm/des_enc.m4
  head/crypto/openssl/crypto/dso/dso_dlfcn.c
  head/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl
  head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl
  head/crypto/openssl/crypto/ec/curve25519.c
  head/crypto/openssl/crypto/ec/curve448/eddsa.c
  head/crypto/openssl/crypto/ec/curve448/point_448.h
  head/crypto/openssl/crypto/ec/ec2_smpl.c
  head/crypto/openssl/crypto/ec/ec_ameth.c
  head/crypto/openssl/crypto/ec/ec_err.c
  head/crypto/openssl/crypto/ec/ec_lcl.h
  head/crypto/openssl/crypto/ec/ecp_mont.c
  head/crypto/openssl/crypto/ec/ecp_nist.c
  head/crypto/openssl/crypto/ec/ecp_nistp224.c
  head/crypto/openssl/crypto/ec/ecp_nistp256.c
  head/crypto/openssl/crypto/ec/ecp_nistp521.c
  head/crypto/openssl/crypto/ec/ecp_nistz256.c
  head/crypto/openssl/crypto/ec/ecp_smpl.c
  head/crypto/openssl/crypto/ec/ecx_meth.c
  head/crypto/openssl/crypto/engine/README
  head/crypto/openssl/crypto/engine/eng_devcrypto.c
  head/crypto/openssl/crypto/engine/eng_lib.c
  head/crypto/openssl/crypto/err/err.c
  head/crypto/openssl/crypto/err/openssl.txt
  head/crypto/openssl/crypto/evp/evp_enc.c
  head/crypto/openssl/crypto/evp/evp_err.c
  head/crypto/openssl/crypto/evp/p_lib.c
  head/crypto/openssl/crypto/include/internal/bn_int.h
  head/crypto/openssl/crypto/init.c
  head/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl
  head/crypto/openssl/crypto/objects/obj_dat.h
  head/crypto/openssl/crypto/objects/obj_dat.pl
  head/crypto/openssl/crypto/objects/obj_xref.h
  head/crypto/openssl/crypto/objects/objects.pl
  head/crypto/openssl/crypto/objects/objxref.pl
  head/crypto/openssl/crypto/pem/pem_info.c
  head/crypto/openssl/crypto/perlasm/x86_64-xlate.pl
  head/crypto/openssl/crypto/poly1305/asm/poly1305-armv8.pl
  head/crypto/openssl/crypto/ppc_arch.h
  head/crypto/openssl/crypto/ppccap.c
  head/crypto/openssl/crypto/ppccpuid.pl
  head/crypto/openssl/crypto/rand/rand_unix.c
  head/crypto/openssl/crypto/rsa/rsa_ameth.c
  head/crypto/openssl/crypto/rsa/rsa_oaep.c
  head/crypto/openssl/crypto/rsa/rsa_ossl.c
  head/crypto/openssl/crypto/rsa/rsa_pk1.c
  head/crypto/openssl/crypto/rsa/rsa_ssl.c
  

svn commit: r344601 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Sean Eric Fagan
Author: sef
Date: Tue Feb 26 19:23:22 2019
New Revision: 344601
URL: https://svnweb.freebsd.org/changeset/base/344601

Log:
  Set process title during zfs send.
  
  This adds a '-V' option to 'zfs send', which sets the process title once a
  second to the progress information.
  
  This code has been in FreeNAS for a long time now; this is just upstreaming
  it here.  It was originially written by delphij.
  
  Reviewed by:  mav
  Obtained from:iXsystems, Inc
  Sponsored by: iXsystems, Inc
  Differential Revision:https://reviews.freebsd.org/D19184

Modified:
  head/cddl/contrib/opensolaris/cmd/zfs/zfs.8
  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c

Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8
==
--- head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Feb 26 18:30:51 2019
(r344600)
+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Feb 26 19:23:22 2019
(r344601)
@@ -32,7 +32,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 11, 2018
+.Dd February 15, 2018
 .Dt ZFS 8
 .Os
 .Sh NAME
@@ -184,7 +184,7 @@
 .Ar bookmark
 .Nm
 .Cm send
-.Op Fl DLPRcenpv
+.Op Fl DLPRVcenpv
 .Op Fl i Ar snapshot | Fl I Ar snapshot
 .Ar snapshot
 .Nm
@@ -194,7 +194,7 @@
 .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
 .Nm
 .Cm send
-.Op Fl Penv
+.Op Fl PVenv
 .Fl t Ar receive_resume_token
 .Nm
 .Cm receive Ns | Ns Cm recv
@@ -2607,7 +2607,7 @@ feature.
 .It Xo
 .Nm
 .Cm send
-.Op Fl DLPRcenpv
+.Op Fl DLPRVcenpv
 .Op Fl i Ar snapshot | Fl I Ar snapshot
 .Ar snapshot
 .Xc
@@ -2753,6 +2753,8 @@ Print machine-parsable verbose information about the s
 .It Fl v, -verbose
 Print verbose information about the stream package generated.
 This information includes a per-second report of how much data has been sent.
+.It Fl V
+Set the process title to a per-second report of how much data has been sent.
 .El
 .Pp
 The format of the stream is committed. You will be able to receive your streams

Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==
--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cTue Feb 26 18:30:51 
2019(r344600)
+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cTue Feb 26 19:23:22 
2019(r344601)
@@ -3813,7 +3813,7 @@ zfs_do_send(int argc, char **argv)
};
 
/* check options */
-   while ((c = getopt_long(argc, argv, ":i:I:RbDpvnPLet:c", long_options,
+   while ((c = getopt_long(argc, argv, ":i:I:RbDpVvnPLet:c", long_options,
NULL)) != -1) {
switch (c) {
case 'i':
@@ -3836,6 +3836,10 @@ zfs_do_send(int argc, char **argv)
case 'P':
flags.parsable = B_TRUE;
flags.verbose = B_TRUE;
+   break;
+   case 'V':
+   flags.progress = B_TRUE;
+   flags.progressastitle = B_TRUE;
break;
case 'v':
if (flags.verbose)

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
==
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.hTue Feb 26 
18:30:51 2019(r344600)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.hTue Feb 26 
19:23:22 2019(r344601)
@@ -651,6 +651,9 @@ typedef struct sendflags {
 
/* compressed WRITE records are permitted */
boolean_t compress;
+
+   /* show progress as process title(ie. -V) */
+   boolean_t progressastitle;
 } sendflags_t;
 
 typedef boolean_t (snapfilter_cb_t)(zfs_handle_t *, void *);

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
==
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c   Tue Feb 
26 18:30:51 2019(r344600)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c   Tue Feb 
26 19:23:22 2019(r344601)
@@ -85,6 +85,8 @@ typedef struct progress_arg {
zfs_handle_t *pa_zhp;
int pa_fd;
boolean_t pa_parsable;
+   boolean_t pa_astitle;
+   uint64_t pa_size;
 } progress_arg_t;
 
 typedef struct dataref {
@@ -930,6 +932,7 @@ typedef struct send_dump_data {
uint64_t prevsnap_obj;
boolean_t seenfrom, seento, replicate, doall, fromorigin;
boolean_t verbose, dryrun, parsable, progress, embed_data, std_out;
+   boolean_t progressastitle;
boolean_t large_block, compress;
int outfd;
boolean_t err;
@@ -1110,14 +1113,14 @@ send_progress_thread(void *arg)
zfs_cmd_t zc = { 0 };
zfs_handle_t *zhp = pa->pa_zhp;
 

Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Pedro Giffuni



On 26/02/2019 13:15, Rodney W. Grimes wrote:

On Mon, Feb 25, 2019 at 05:11:26PM -0800, K. Macy wrote:

We had a brief discussion of this commit within a subset of core.  This
addition of GPLv2 code is fine as the code is easily removal to a module
(per kmoore@) should the day come that we're read to evict all GPL code.

I don't execute the ctors until coverage is enabled because I have to
manually find the symbols. The linker doesn't actually generate a ctor
section for functions in text.startup in spite of what Juniper's
linker commit would lead one to believe - presumably they have a
private linker script in addition to a private gcov port.  Thus, it
really could just work fine as a module. Nonetheless, everything to be
profiled needs to be compiled with instrumentation, so separating it
out makes very little sense to me. Although, I suppose ctfconvert +
dtrace module is somewhat analogous.


The modest increase in activation energy for that task seems worth it
for the short-term gains of reduced integration cost (this code will
greatly improve our ZFS-on-Linux test coverage.)

Rod rightly points out that we haven't accepted SPDX tags alone as
license statements.  The standard GPL v2.0 boiler plate should be added
to this file along side the tag.

I've copied the full copyright attribution that is in the
corresponding files on Linux. Is there some reason why FreeBSD
requires the files to be inflated with the full license text where the
original lacks it?

We're not asking for the full text, just the standard block:

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301, USA.

This is from: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html#SEC4

We're not currently using SPDX to include licenses, largely because OSI
completely and utterly botched BSD licenses.  Fixing this is WAY down
the list of things on core's plate.  Unless someone takes ownership
here, I don't see this changing any time soon.

What is it that got botched, and what is it that needs to be done,
some may think I do not support SPDX, I do, in that originally
it was about tagging the files to mark what license applies, and
I agree we should tag the files.  I howerver can not support the
concept that you can replace a copyright and/or license text in a
file with just a SPDX tag.


I think I have mentioned this before although not in public. I was asked 
to give a talk about my experience tagging SPDX files in the FreeBSD, 
ande did discuss about tags-replacing-licenses informally with some 
lawyers working on the linux kernel. They don't all agree on replacing 
the license with the SPDX tag, however when it is done, they are doing 
it in some context:


1) They keep a complete copy of the license text in the tree.

2) The copyright owners were suggested adopt such simplifications, but 
they were asked to do it themselves.


IANAL, but I agree that bringing such files into FreeBSD must involve 
bringing the license text. This could probably be done once for the gnu/ 
branch.



Some sight Linux as a big project using SPDX, but if you dig into
it you find out they did this to recover from there sloppyness of
actually not having anything in some 6000 files in the kernel,
they simply tagged them all GPL 2 and boom they claim problem
solved.


I don't really follow the linux development to know if they followed any 
procedure for licensing all the files or if they assumed some context in 
the process. They did have a huge mess due to finding variants of the 
GPL with different wording and subtle differences, so I understand their 
interest in homogenizing the licensing somehow.


At least in our case we do have a bunch of build artifacts (Makefiles) 
and some headers without a license. In the case of Makefiles and 
manpages we have made no effort to tag those with SPDX, and it probably 
doesn't matter much.


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: r344600 - head/sys/geom/concat

2019-02-26 Thread Mark Johnston
Author: markj
Date: Tue Feb 26 18:30:51 2019
New Revision: 344600
URL: https://svnweb.freebsd.org/changeset/base/344600

Log:
  Add a missing return statement to g_concat_kernel_dump().
  
  The error occurs when upper layers attempt an out-of-bounds write.
  
  Submitted by: Noah Bergbauer 
  MFC after:1 week

Modified:
  head/sys/geom/concat/g_concat.c

Modified: head/sys/geom/concat/g_concat.c
==
--- head/sys/geom/concat/g_concat.c Tue Feb 26 18:20:41 2019
(r344599)
+++ head/sys/geom/concat/g_concat.c Tue Feb 26 18:30:51 2019
(r344600)
@@ -238,8 +238,10 @@ g_concat_kernel_dump(struct bio *bp)
sc->sc_disks[i].d_end > gkd->offset)
break;
}
-   if (i == sc->sc_ndisks)
+   if (i == sc->sc_ndisks) {
g_io_deliver(bp, EOPNOTSUPP);
+   return;
+   }
disk = >sc_disks[i];
gkd->offset -= disk->d_start;
if (gkd->length > disk->d_end - disk->d_start - gkd->offset)
___
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: r344599 - in head/sys/cddl/contrib/opensolaris/uts: common/dtrace intel/dtrace

2019-02-26 Thread Mark Johnston
Author: markj
Date: Tue Feb 26 18:20:41 2019
New Revision: 344599
URL: https://svnweb.freebsd.org/changeset/base/344599

Log:
  Fix fasttrap_sig{trap,segv}().
  
  - Don't leak the ksiginfo structure.
  - Hold the proc lock when sending a signal in fasttrap_sigsegv().
  
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
  head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c  Tue Feb 
26 18:09:04 2019(r344598)
+++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c  Tue Feb 
26 18:20:41 2019(r344599)
@@ -291,30 +291,15 @@ fasttrap_hash_str(const char *p)
 void
 fasttrap_sigtrap(proc_t *p, kthread_t *t, uintptr_t pc)
 {
-#ifdef illumos
-   sigqueue_t *sqp = kmem_zalloc(sizeof (sigqueue_t), KM_SLEEP);
+   ksiginfo_t ksi;
 
-   sqp->sq_info.si_signo = SIGTRAP;
-   sqp->sq_info.si_code = TRAP_DTRACE;
-   sqp->sq_info.si_addr = (caddr_t)pc;
-
-   mutex_enter(>p_lock);
-   sigaddqa(p, t, sqp);
-   mutex_exit(>p_lock);
-
-   if (t != NULL)
-   aston(t);
-#else
-   ksiginfo_t *ksi = kmem_zalloc(sizeof (ksiginfo_t), KM_SLEEP);
-
-   ksiginfo_init(ksi);
-   ksi->ksi_signo = SIGTRAP;
-   ksi->ksi_code = TRAP_DTRACE;
-   ksi->ksi_addr = (caddr_t)pc;
+   ksiginfo_init();
+   ksi.ksi_signo = SIGTRAP;
+   ksi.ksi_code = TRAP_DTRACE;
+   ksi.ksi_addr = (caddr_t)pc;
PROC_LOCK(p);
-   (void) tdsendsignal(p, t, SIGTRAP, ksi);
+   (void)tdsendsignal(p, t, SIGTRAP, );
PROC_UNLOCK(p);
-#endif
 }
 
 #ifndef illumos

Modified: head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c
==
--- head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c   Tue Feb 
26 18:09:04 2019(r344598)
+++ head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c   Tue Feb 
26 18:20:41 2019(r344599)
@@ -735,13 +735,15 @@ fasttrap_return_common(struct reg *rp, uintptr_t pc, p
 static void
 fasttrap_sigsegv(proc_t *p, kthread_t *t, uintptr_t addr)
 {
-   ksiginfo_t *ksi = kmem_zalloc(sizeof (ksiginfo_t), KM_SLEEP);
+   ksiginfo_t ksi;
 
-   ksiginfo_init(ksi);
-   ksi->ksi_signo = SIGSEGV;
-   ksi->ksi_code = SEGV_MAPERR;
-   ksi->ksi_addr = (caddr_t)addr;
-   (void) tdksignal(t, SIGSEGV, ksi);
+   ksiginfo_init();
+   ksi.ksi_signo = SIGSEGV;
+   ksi.ksi_code = SEGV_MAPERR;
+   ksi.ksi_addr = (caddr_t)addr;
+   PROC_LOCK(p);
+   (void)tdksignal(t, SIGSEGV, );
+   PROC_UNLOCK(p);
 }
 
 #ifdef __amd64
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
> On Mon, Feb 25, 2019 at 05:11:26PM -0800, K. Macy wrote:
> > > We had a brief discussion of this commit within a subset of core.  This
> > > addition of GPLv2 code is fine as the code is easily removal to a module
> > > (per kmoore@) should the day come that we're read to evict all GPL code.
> > 
> > I don't execute the ctors until coverage is enabled because I have to
> > manually find the symbols. The linker doesn't actually generate a ctor
> > section for functions in text.startup in spite of what Juniper's
> > linker commit would lead one to believe - presumably they have a
> > private linker script in addition to a private gcov port.  Thus, it
> > really could just work fine as a module. Nonetheless, everything to be
> > profiled needs to be compiled with instrumentation, so separating it
> > out makes very little sense to me. Although, I suppose ctfconvert +
> > dtrace module is somewhat analogous.
> > 
> > > The modest increase in activation energy for that task seems worth it
> > > for the short-term gains of reduced integration cost (this code will
> > > greatly improve our ZFS-on-Linux test coverage.)
> > >
> > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > license statements.  The standard GPL v2.0 boiler plate should be added
> > > to this file along side the tag.
> > 
> > I've copied the full copyright attribution that is in the
> > corresponding files on Linux. Is there some reason why FreeBSD
> > requires the files to be inflated with the full license text where the
> > original lacks it?
> 
> We're not asking for the full text, just the standard block:
> 
> // This program is free software; you can redistribute it and/or
> // modify it under the terms of the GNU General Public License
> // as published by the Free Software Foundation; either version 2
> // of the License, or (at your option) any later version.
> // 
> // This program is distributed in the hope that it will be useful,
> // but WITHOUT ANY WARRANTY; without even the implied warranty of
> // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> // GNU General Public License for more details.
> // 
> // You should have received a copy of the GNU General Public License
> // along with this program; if not, write to the Free Software
> // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> // 02110-1301, USA.
> 
> This is from: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html#SEC4
> 
> We're not currently using SPDX to include licenses, largely because OSI
> completely and utterly botched BSD licenses.  Fixing this is WAY down
> the list of things on core's plate.  Unless someone takes ownership
> here, I don't see this changing any time soon.

What is it that got botched, and what is it that needs to be done,
some may think I do not support SPDX, I do, in that originally
it was about tagging the files to mark what license applies, and
I agree we should tag the files.  I howerver can not support the
concept that you can replace a copyright and/or license text in a
file with just a SPDX tag. 

Some sight Linux as a big project using SPDX, but if you dig into
it you find out they did this to recover from there sloppyness of
actually not having anything in some 6000 files in the kernel,
they simply tagged them all GPL 2 and boom they claim problem
solved.

> > > An additional issue is that the a warning tag was not added to
> > > sys/conf/files.  A warning along the lines of:
> > >
> > > warning "kernel contains GPLv2 licensed GCOV"
> > >
> > > needs to be added.
> > 
> > Yup.
> > 
> > >
> > > This commit needed more through review.
> > 
> > How would this be achieved:? I had several people on the review and no
> > one had substantive feedback.
> 
> For GPL stuff, add #core to the reviewers list and feel free to drop us
> an email to make sure we see it promptly.

Thank you Brooks, maybe also add that as a note to the text of the
internal document, and could we get the text in the committers
guide I sighted elsewhere to agree with the text in this internal
policy?

> -- Brooks
-- 
Rod Grimes rgri...@freebsd.org
___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread John Baldwin
On 2/26/19 9:23 AM, Alexey Dokuchaev wrote:
> On Tue, Feb 26, 2019 at 09:12:11AM -0800, John Baldwin wrote:
>> On 2/26/19 5:49 AM, Alexey Dokuchaev wrote:
>>> On Mon, Feb 25, 2019 at 10:19:45PM -0800, Rodney W. Grimes wrote:
 ...
 Just a small nit, for future reference, from the template:
> Differential Revision:https://reviews.freebsd.org/D###
 (*full* phabric URL needed).
>>>
>>> IMHO we should just fix the scripts to accept D alone, without
>>> the URL.  We don't do that for PR (bugzilla) references, and the fact
>>> that we do for the phab is both needless and confusing.  Also, that
>>> URL might change one day while we could probably keep the old numbers
>>> if we move.
>>
>> It makes the review clickable in many mail clients which is very handy.
> 
> I understand that, but then again, we don't do that for PRs and people
> don't seem to complain.  Accepting D would make this all consistent
> and commit messages cleaner.  Arguably, if one likes to click the URLs
> in their mail client, why not configure the client to expand the URL in
> place?
> 
>> --
>> John Baldwin
>>
>> \x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a
> 
> Can you do something about this horde of \x9a's appended to your every
> email John?

Bizarre, that's the first time someone has mentioned that.  It appears to
be a misfeature of Thunderbird which I switched to last year after kmail
in kde5 officially moved to "unusable trash fire" status.  It doesn't show
up locally, and the signature file I'm using doesn't contain them:

% hexdump .signature 
000 2d 2d 20 0a 4a 6f 68 6e 20 42 61 6c 64 77 69 6e
010 0a 
011

Switching to using an inline signature instead of a signature file didn't
fix it either. :(  I haven't found an existing bug report for this yet.

-- 
John Baldwin


___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
> On 2/26/19 9:33 AM, Rodney W. Grimes wrote:
> >> On 2/25/19 5:11 PM, K. Macy wrote:
>  This commit needed more through review.
> >>>
> >>> How would this be achieved:? I had several people on the review and no
> >>> one had substantive feedback.
> >>
> >> As a developer it is your responsibility to be aware of the policies that
> >> we do document.  One of the things in the license policy Brooks pointed you
> >> at is that adding new GPL code requires core@ sign off.  This doesn't mean
> >> core@ will say know.  It does mean that core@ has to make an explicit
> >> decision.
> >>
> >> (I know Brooks said he intended to update the policy, but in fact it
> >> already requires core@ sign off for any new code that isn't following
> >> one of the accepted licenses which are all BSD/MIT-style licenses.)
> > 
> > In defense of K Macy here, the copy of this text in the publically
> > visible committers guide does not say that.  Hence my earlier mail
> > about is this text planned as an update to what is in the committers
> > guide.  Or can you point me to something in the public area that
> > points at this /internal/license.html file?
> 
> Things on internal/ are "public" as far as developers are concerned.  The
> title of https://www.freebsd.org/internal/policies.html is "Policies for
> FreeBSD Project Members" and references the committers guide as well as
> additional policies rather than the other way around.

And when is a new/returning committer refered to this document?
I do not recall being ever told about it.
I was refered to the committers guide.

> John Baldwin

-- 
Rod Grimes rgri...@freebsd.org
___
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: r344594 - head/usr.bin/proccontrol

2019-02-26 Thread Rodney W. Grimes
> Author: kib
> Date: Tue Feb 26 17:46:19 2019
> New Revision: 344594
> URL: https://svnweb.freebsd.org/changeset/base/344594
> 
> Log:
>   proccontrol(1) man page.
>   
>   Reviewed by:0mp
>   Sponsored by:   The FreeBSD Foundation
>   Differential revision:  https://reviews.freebsd.org/D19308
> 
> Added:
>   head/usr.bin/proccontrol/proccontrol.1   (contents, props changed)
> Modified:
>   head/usr.bin/proccontrol/Makefile
> 
> Modified: head/usr.bin/proccontrol/Makefile
> ==
> --- head/usr.bin/proccontrol/Makefile Tue Feb 26 17:41:41 2019
> (r344593)
> +++ head/usr.bin/proccontrol/Makefile Tue Feb 26 17:46:19 2019
> (r344594)
> @@ -2,6 +2,5 @@
>  
>  PROG=   proccontrol
>  WARNS?=  6
> -MAN=
>  
>  .include 
> 
> Added: head/usr.bin/proccontrol/proccontrol.1
> ==
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ head/usr.bin/proccontrol/proccontrol.1Tue Feb 26 17:46:19 2019
> (r344594)
> @@ -0,0 +1,123 @@
> +.\" Copyright (c) 2019 The FreeBSD Foundation, Inc.
> +.\" All rights reserved.

I thought the foundation updated all its templates and contracts
such that the All rights reserved was no longer needed?

Ed?

> +.\"
> +.\" This documentation was written by
> +.\" Konstantin Belousov  under sponsorship
> +.\" from the FreeBSD Foundation.
> +.\"
> +.\" Redistribution and use in source and binary forms, with or without
> +.\" modification, are permitted provided that the following conditions
> +.\" are met:
> +.\" 1. Redistributions of source code must retain the above copyright
> +.\"notice, this list of conditions and the following disclaimer.
> +.\" 2. Redistributions in binary form must reproduce the above copyright
> +.\"notice, this list of conditions and the following disclaimer in the
> +.\"documentation and/or other materials provided with the distribution.
> +.\"
> +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
> +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
> PURPOSE
> +.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
> +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
> CONSEQUENTIAL
> +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
> STRICT
> +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +.\" SUCH DAMAGE.
> +.\"
> +.\" $FreeBSD$
> +.\"
> +.Dd February 22, 2019
> +.Dt PROCCONTROL 1
> +.Os
> +.Sh NAME
> +.Nm proccontrol
> +.Nd Control some process execution aspects
> +.Sh SYNOPSIS
> +.Nm
> +.Fl m Ar mode
> +.Op Fl s Ar control
> +.Op Fl q
> +.Fl p Ar pid | command
> +.Sh DESCRIPTION
> +The
> +.Nm
> +command modifies the execution parameter of existing process
> +specified by the
> +.Ar pid
> +argument, or starts execution of the new program
> +.Ar command
> +with the execution parameter set for it.
> +.Pp
> +Which execution parameter is changed, selected by the mandatory
> +parameter
> +.Ar mode .
> +Possible values for
> +.Ar mode
> +are:
> +.Bl -tag -width trapcap
> +.It Ar aslr
> +Control the Address Space Layout Randomization.
> +Only applicable to the new process spawned.
> +.It Ar trace
> +Control the permission for debuggers to attach.
> +.It Ar trapcap
> +Controls the signalling of capability mode access violations.
> +.El
> +.Pp
> +The
> +Ar control
> +specifies if the selected
> +.Ar mode
> +should be enabled or disabled.
> +Possible values are
> +.Ar enable
> +and
> +.Ar disable ,
> +with the default value being
> +.Ar enable
> +if not specified.
> +See
> +.Xr procctl 2
> +for detailed description of each mode effects and interaction with other
> +process control facilities.
> +.Pp
> +The
> +.Op Fl q
> +switch makes the utility query and print the current setting for
> +the selected mode.
> +.Sh EXIT STATUS
> +.Ex -std
> +.Sh EXAMPLES
> +.Bl -bullet
> +.It
> +To disable debuggers attachment to the process 1020, execute
> +.Dl "proccontrol -m trace -s disable -p 1020"
> +.It
> +To execute the
> +.Xr uniq 1
> +program in a mode where capability access violations cause
> +.Dv SIGTRAP
> +delivery, do
> +.Dl "proccontrol -m trapcap uniq"
> +.It
> +To query the current ASLR enablement mode for the running
> +process 1020, do
> +.Dl "proccontrol -m aslr -q -p 1020"
> +.El
> +.Sh SEE ALSO
> +.Xr kill 2 ,
> +.Xr procctl 2 ,
> +.Xr ptrace 2
> +.Sh HISTORY
> +The
> +.Nm
> +command appeared in
> +.Fx 10.0 .
> +.Sh AUTHORS
> +The
> +.Nm
> +command and this manual page were written by
> +.An 

Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Brooks Davis
On Mon, Feb 25, 2019 at 05:11:26PM -0800, K. Macy wrote:
> > We had a brief discussion of this commit within a subset of core.  This
> > addition of GPLv2 code is fine as the code is easily removal to a module
> > (per kmoore@) should the day come that we're read to evict all GPL code.
> 
> I don't execute the ctors until coverage is enabled because I have to
> manually find the symbols. The linker doesn't actually generate a ctor
> section for functions in text.startup in spite of what Juniper's
> linker commit would lead one to believe - presumably they have a
> private linker script in addition to a private gcov port.  Thus, it
> really could just work fine as a module. Nonetheless, everything to be
> profiled needs to be compiled with instrumentation, so separating it
> out makes very little sense to me. Although, I suppose ctfconvert +
> dtrace module is somewhat analogous.
> 
> > The modest increase in activation energy for that task seems worth it
> > for the short-term gains of reduced integration cost (this code will
> > greatly improve our ZFS-on-Linux test coverage.)
> >
> > Rod rightly points out that we haven't accepted SPDX tags alone as
> > license statements.  The standard GPL v2.0 boiler plate should be added
> > to this file along side the tag.
> 
> I've copied the full copyright attribution that is in the
> corresponding files on Linux. Is there some reason why FreeBSD
> requires the files to be inflated with the full license text where the
> original lacks it?

We're not asking for the full text, just the standard block:

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301, USA.

This is from: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html#SEC4

We're not currently using SPDX to include licenses, largely because OSI
completely and utterly botched BSD licenses.  Fixing this is WAY down
the list of things on core's plate.  Unless someone takes ownership
here, I don't see this changing any time soon.

> > An additional issue is that the a warning tag was not added to
> > sys/conf/files.  A warning along the lines of:
> >
> > warning "kernel contains GPLv2 licensed GCOV"
> >
> > needs to be added.
> 
> Yup.
> 
> >
> > This commit needed more through review.
> 
> How would this be achieved:? I had several people on the review and no
> one had substantive feedback.

For GPL stuff, add #core to the reviewers list and feel free to drop us
an email to make sure we see it promptly.

-- Brooks


signature.asc
Description: PGP signature


Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread John Baldwin
On 2/26/19 9:33 AM, Rodney W. Grimes wrote:
>> On 2/25/19 5:11 PM, K. Macy wrote:
 This commit needed more through review.
>>>
>>> How would this be achieved:? I had several people on the review and no
>>> one had substantive feedback.
>>
>> As a developer it is your responsibility to be aware of the policies that
>> we do document.  One of the things in the license policy Brooks pointed you
>> at is that adding new GPL code requires core@ sign off.  This doesn't mean
>> core@ will say know.  It does mean that core@ has to make an explicit
>> decision.
>>
>> (I know Brooks said he intended to update the policy, but in fact it
>> already requires core@ sign off for any new code that isn't following
>> one of the accepted licenses which are all BSD/MIT-style licenses.)
> 
> In defense of K Macy here, the copy of this text in the publically
> visible committers guide does not say that.  Hence my earlier mail
> about is this text planned as an update to what is in the committers
> guide.  Or can you point me to something in the public area that
> points at this /internal/license.html file?

Things on internal/ are "public" as far as developers are concerned.  The
title of https://www.freebsd.org/internal/policies.html is "Policies for
FreeBSD Project Members" and references the committers guide as well as
additional policies rather than the other way around.

-- 
John Baldwin


___
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: r344594 - head/usr.bin/proccontrol

2019-02-26 Thread Konstantin Belousov
Author: kib
Date: Tue Feb 26 17:46:19 2019
New Revision: 344594
URL: https://svnweb.freebsd.org/changeset/base/344594

Log:
  proccontrol(1) man page.
  
  Reviewed by:  0mp
  Sponsored by: The FreeBSD Foundation
  Differential revision:https://reviews.freebsd.org/D19308

Added:
  head/usr.bin/proccontrol/proccontrol.1   (contents, props changed)
Modified:
  head/usr.bin/proccontrol/Makefile

Modified: head/usr.bin/proccontrol/Makefile
==
--- head/usr.bin/proccontrol/Makefile   Tue Feb 26 17:41:41 2019
(r344593)
+++ head/usr.bin/proccontrol/Makefile   Tue Feb 26 17:46:19 2019
(r344594)
@@ -2,6 +2,5 @@
 
 PROG=   proccontrol
 WARNS?=6
-MAN=
 
 .include 

Added: head/usr.bin/proccontrol/proccontrol.1
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.bin/proccontrol/proccontrol.1  Tue Feb 26 17:46:19 2019
(r344594)
@@ -0,0 +1,123 @@
+.\" Copyright (c) 2019 The FreeBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This documentation was written by
+.\" Konstantin Belousov  under sponsorship
+.\" from the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 22, 2019
+.Dt PROCCONTROL 1
+.Os
+.Sh NAME
+.Nm proccontrol
+.Nd Control some process execution aspects
+.Sh SYNOPSIS
+.Nm
+.Fl m Ar mode
+.Op Fl s Ar control
+.Op Fl q
+.Fl p Ar pid | command
+.Sh DESCRIPTION
+The
+.Nm
+command modifies the execution parameter of existing process
+specified by the
+.Ar pid
+argument, or starts execution of the new program
+.Ar command
+with the execution parameter set for it.
+.Pp
+Which execution parameter is changed, selected by the mandatory
+parameter
+.Ar mode .
+Possible values for
+.Ar mode
+are:
+.Bl -tag -width trapcap
+.It Ar aslr
+Control the Address Space Layout Randomization.
+Only applicable to the new process spawned.
+.It Ar trace
+Control the permission for debuggers to attach.
+.It Ar trapcap
+Controls the signalling of capability mode access violations.
+.El
+.Pp
+The
+Ar control
+specifies if the selected
+.Ar mode
+should be enabled or disabled.
+Possible values are
+.Ar enable
+and
+.Ar disable ,
+with the default value being
+.Ar enable
+if not specified.
+See
+.Xr procctl 2
+for detailed description of each mode effects and interaction with other
+process control facilities.
+.Pp
+The
+.Op Fl q
+switch makes the utility query and print the current setting for
+the selected mode.
+.Sh EXIT STATUS
+.Ex -std
+.Sh EXAMPLES
+.Bl -bullet
+.It
+To disable debuggers attachment to the process 1020, execute
+.Dl "proccontrol -m trace -s disable -p 1020"
+.It
+To execute the
+.Xr uniq 1
+program in a mode where capability access violations cause
+.Dv SIGTRAP
+delivery, do
+.Dl "proccontrol -m trapcap uniq"
+.It
+To query the current ASLR enablement mode for the running
+process 1020, do
+.Dl "proccontrol -m aslr -q -p 1020"
+.El
+.Sh SEE ALSO
+.Xr kill 2 ,
+.Xr procctl 2 ,
+.Xr ptrace 2
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.Fx 10.0 .
+.Sh AUTHORS
+The
+.Nm
+command and this manual page were written by
+.An Konstantin Belousov Aq Mt k...@freebsd.org
+under sponsorship from The FreeBSD Foundation.
___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread Rodney W. Grimes
> On Tue, 26 Feb 2019 17:23:58 +
> Alexey Dokuchaev  wrote:
> 
> > On Tue, Feb 26, 2019 at 09:12:11AM -0800, John Baldwin wrote:
> 
> > > It makes the review clickable in many mail clients which is very
> > > handy.  
> > 
> > I understand that, but then again, we don't do that for PRs and people
> > don't seem to complain.  Accepting D would make this all
> > consistent and commit messages cleaner.  Arguably, if one likes to
> > click the URLs in their mail client, why not configure the client to
> > expand the URL in place?
> > 
> 
> > 
> > ./danfe
> > 
> 
> I, personally, would love it if the PR listed in emails was a clickable
> link.  Or, even, if in viewvc the PR was a clickable link.  That might
> be easier to do, since we wouldn't need to worry about links going
> stale to the bugtracker-of-the-year.

1 push; +;

-- 
Rod Grimes rgri...@freebsd.org
___
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: r344593 - head/lib/libc/sys

2019-02-26 Thread Konstantin Belousov
Author: kib
Date: Tue Feb 26 17:41:41 2019
New Revision: 344593
URL: https://svnweb.freebsd.org/changeset/base/344593

Log:
  procctl(2): document ASLR knobs.
  
  Reviewed by:  0mp
  Sponsored by: The FreeBSD Foundation
  Differential revision:https://reviews.freebsd.org/D19308

Modified:
  head/lib/libc/sys/procctl.2

Modified: head/lib/libc/sys/procctl.2
==
--- head/lib/libc/sys/procctl.2 Tue Feb 26 17:35:06 2019(r344592)
+++ head/lib/libc/sys/procctl.2 Tue Feb 26 17:41:41 2019(r344593)
@@ -72,6 +72,46 @@ The control request to perform is specified by the
 argument.
 The following commands are supported:
 .Bl -tag -width PROC_TRAPCAP_STATUS
+.It Dv PROC_ASLR_CTL
+Controls the Address Space Layout Randomization (ASLR) in the program
+images created
+by
+.Xr execve 2
+in the specified process or its descendants that did not changed
+the control nor modified it by other means.
+The
+.Va arg
+parameter must point to the integer variable holding one of the following
+values:
+.Bl -tag -width PROC_ASLR_FORCE_DISABLE
+.It Dv PROC_ASLR_FORCE_ENABLE
+Request that ASLR is enabled after execution, even if it is disabled
+system-wide.
+The image flag and set-uid might prevent ASLR enablement still.
+.It Dv PROC_ASLR_FORCE_DISABLE
+Request that ASLR is disabled after execution.
+Same notes as for
+.Dv PROC_ASKR_FORCE_ENABLE
+apply.
+.It Dv PROC_ASLR_NOFORCE
+Use system-wide configured policy for ASLR.
+.El
+.It Dv PROC_ASLR_STATUS
+Returns the current status of ASLR enablement for the target process.
+The
+.Va arg
+parameter must point to the integer variable, where one of the
+following values is written:
+.Bl -tag -width PROC_ASLR_FORCE_DISABLE
+.It Dv PROC_ASLR_FORCE_ENABLE
+.It Dv PROC_ASLR_FORCE_DISABLE
+.It Dv PROC_ASLR_NOFORCE
+.El
+.Pp
+If the currently executed image in the process itself has ASLR enabled,
+the
+.Dv PROC_ASLR_ACTIVE
+flag is or-ed with the value listed above.
 .It Dv PROC_SPROTECT
 Set process protection state.
 This is used to mark a process as protected from being killed if the system
@@ -543,11 +583,16 @@ The
 .Fn procctl
 function appeared in
 .Fx 10.0 .
+.Pp
 The reaper facility is based on a similar feature of Linux and
 DragonflyBSD, and first appeared in
 .Fx 10.2 .
+.Pp
 The
 .Dv PROC_PDEATHSIG_CTL
 facility is based on the prctl(PR_SET_PDEATHSIG, ...) feature of Linux,
 and first appeared in
 .Fx 11.2 .
+.Pp
+The ASLR support was added to system for the checklists compliance in
+.Fx 13.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"


Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Fatih Acar
On 2/26/19 5:36 PM, Cy Schubert wrote:
> On February 26, 2019 8:11:31 AM PST, Baptiste Daroussin  
> wrote:
>> On Tue, Feb 26, 2019 at 05:04:11PM +0100, Baptiste Daroussin wrote:
>>> On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
 On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
>>  wrote:
> Author: bapt
> Date: Tue Feb 26 08:18:34 2019
> New Revision: 344569
> URL: https://svnweb.freebsd.org/changeset/base/344569
>
> Log:
>  Implement parallel mounting for ZFS filesystem
>  
>  It was first implemented on Illumos and then ported to ZoL.
>  This patch is a port to FreeBSD of the ZoL version.
>  This patch also includes a fix for a race condition that was
>> amended
>  
> With such patch Delphix has seen a huge decrease in latency of the
> mount phase
>  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for
>> details).
> With that current change Gandi has measured improvments that are
>> on par
> with
>  those reported by Delphix.
>  
>  Zol commits incorporated:

>>> https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303

>>> https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
>  
>  Reviewed by: avg, sef
>  Approved by: avg, sef
>  Obtained from:   ZoL
>  MFC after:   1 month
>  Relnotes:yes
>  Sponsored by:Gandi.net
>  Differential Revision:   https://reviews.freebsd.org/D19098
>
> Modified:
>  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>
> Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c

>>> ==
> --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  Tue Feb 26
> 06:22:10 2019 (r344568)
> +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  Tue Feb 26
> 08:18:34 2019 (r344569)
> @@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
>
> #define   CHECK_SPINNER 30
> #define   SPINNER_TIME 3  /* seconds */
> -#define  MOUNT_TIME 5/* seconds */
> +#define  MOUNT_TIME 1/* seconds */
>
> +typedef struct get_all_state {
> + boolean_t   ga_verbose;
> + get_all_cb_t*ga_cbp;
> +} get_all_state_t;
> +
> static int
> get_one_dataset(zfs_handle_t *zhp, void *data)
> {
> @@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void
>> *data)
>   static int spinval = 0;
>   static int spincheck = 0;
>   static time_t last_spin_time = (time_t)0;
> - get_all_cb_t *cbp = data;
> + get_all_state_t *state = data;
>   zfs_type_t type = zfs_get_type(zhp);
>
> - if (cbp->cb_verbose) {
> + if (state->ga_verbose) {
>   if (--spincheck < 0) {
>   time_t now = time(NULL);
>   if (last_spin_time + SPINNER_TIME < now) {
> @@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void
>> *data)
>   zfs_close(zhp);
>   return (0);
>   }
> - libzfs_add_handle(cbp, zhp);
> - assert(cbp->cb_used <= cbp->cb_alloc);
> + libzfs_add_handle(state->ga_cbp, zhp);
> + assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
>
>   return (0);
> }
>
> static void
> -get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t
> verbose)
> +get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
> {
> - get_all_cb_t cb = { 0 };
> - cb.cb_verbose = verbose;
> - cb.cb_getone = get_one_dataset;
> + get_all_state_t state = {
> + .ga_verbose = verbose,
> + .ga_cbp = cbp
> + };
>
>   if (verbose)
>   set_progress_header(gettext("Reading ZFS config"));
> - (void) zfs_iter_root(g_zfs, get_one_dataset, );
> + (void) zfs_iter_root(g_zfs, get_one_dataset, );
>
> - *dslist = cb.cb_handles;
> - *count = cb.cb_used;
> -
>   if (verbose)
>   finish_progress(gettext("done."));
> }
> @@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist,
>> size_t
> *count
> * similar, we have a common function with an extra parameter to
> determine which
>  * mode we are using.
>  */
> -#define  OP_SHARE0x1
> -#define  OP_MOUNT0x2
> +typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
>
> +typedef struct share_mount_state {
> + share_mount_op_tsm_op;
> + boolean_t   sm_verbose;
> + int sm_flags;
> + char*sm_options;
> + char

svn commit: r344592 - head/lib/libc/sys

2019-02-26 Thread Konstantin Belousov
Author: kib
Date: Tue Feb 26 17:35:06 2019
New Revision: 344592
URL: https://svnweb.freebsd.org/changeset/base/344592

Log:
  procctl(2): fix -width parameter to .Bl.
  
  According to 0mp, macros are not expanded in the argument provided to
  -width.  Use plain identifiers for width specification.
  
  Noted and reviewed by:0mp
  Sponsored by: The FreeBSD Foundation
  MFC after:3 days
  Differential revision:https://reviews.freebsd.org/D19308

Modified:
  head/lib/libc/sys/procctl.2

Modified: head/lib/libc/sys/procctl.2
==
--- head/lib/libc/sys/procctl.2 Tue Feb 26 17:33:56 2019(r344591)
+++ head/lib/libc/sys/procctl.2 Tue Feb 26 17:35:06 2019(r344592)
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 12, 2018
+.Dd February 23, 2019
 .Dt PROCCTL 2
 .Os
 .Sh NAME
@@ -58,7 +58,7 @@ to control as many of the selected processes as possib
 An error is only returned if no selected processes successfully complete
 the request.
 The following identifier types are supported:
-.Bl -tag -width "Dv P_PGID"
+.Bl -tag -width P_PGID
 .It Dv P_PID
 Control the process with the process ID
 .Fa id .
@@ -71,7 +71,7 @@ The control request to perform is specified by the
 .Fa cmd
 argument.
 The following commands are supported:
-.Bl -tag -width "Dv PROC_TRAPCAP_STATUS"
+.Bl -tag -width PROC_TRAPCAP_STATUS
 .It Dv PROC_SPROTECT
 Set process protection state.
 This is used to mark a process as protected from being killed if the system
@@ -81,7 +81,7 @@ The
 parameter must point to an integer containing an operation and zero or more
 optional flags.
 The following operations are supported:
-.Bl -tag -width "Dv PPROT_CLEAR"
+.Bl -tag -width PPROT_CLEAR
 .It Dv PPROT_SET
 Mark the selected processes as protected.
 .It Dv PPROT_CLEAR
@@ -89,7 +89,7 @@ Clear the protected state of selected processes.
 .El
 .Pp
 The following optional flags are supported:
-.Bl -tag -width "Dv PPROT_DESCEND"
+.Bl -tag -width PPROT_DESCEND
 .It Dv PPROT_DESCEND
 Apply the requested operation to all child processes of each selected process
 in addition to each selected process.
@@ -131,7 +131,7 @@ struct procctl_reaper_status {
 The
 .Fa rs_flags
 may have the following flags returned:
-.Bl -tag -width "Dv REAPER_STATUS_REALINIT"
+.Bl -tag -width REAPER_STATUS_REALINIT
 .It Dv REAPER_STATUS_OWNED
 The specified process has acquired reaper status and has not
 released it.
@@ -211,7 +211,7 @@ of the process.
 The
 .Fa pi_flags
 field returns the following flags, further describing the descendant:
-.Bl -tag -width "Dv REAPER_PIDINFO_REAPER"
+.Bl -tag -width REAPER_PIDINFO_REAPER
 .It Dv REAPER_PIDINFO_VALID
 Set to indicate that the
 .Vt procctl_reaper_pidinfo
@@ -255,7 +255,7 @@ The
 .Fa rk_flags
 field further directs the operation.
 It is or-ed from the following flags:
-.Bl -tag -width "Dv REAPER_KILL_CHILDREN"
+.Bl -tag -width REAPER_KILL_CHILDREN
 .It Dv REAPER_KILL_CHILDREN
 Deliver the specified signal only to direct children of the reaper.
 .It Dv REAPER_KILL_SUBTREE
@@ -296,7 +296,7 @@ and core dumping.
 Possible values for the
 .Fa data
 argument are:
-.Bl -tag -width "Dv PROC_TRACE_CTL_DISABLE_EXEC"
+.Bl -tag -width PROC_TRACE_CTL_DISABLE_EXEC
 .It Dv PROC_TRACE_CTL_ENABLE
 Enable tracing, after it was disabled by
 .Dv PROC_TRACE_CTL_DISABLE .
@@ -346,7 +346,7 @@ signal to the thread immediately before returning from
 Possible values for the
 .Fa data
 argument are:
-.Bl -tag -width "Dv PROC_TRAPCAP_CTL_DISABLE"
+.Bl -tag -width PROC_TRAPCAP_CTL_DISABLE
 .It Dv PROC_TRAPCAP_CTL_ENABLE
 Enable the
 .Dv SIGTRAP
___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread Justin Hibbits
On Tue, 26 Feb 2019 17:23:58 +
Alexey Dokuchaev  wrote:

> On Tue, Feb 26, 2019 at 09:12:11AM -0800, John Baldwin wrote:

> > It makes the review clickable in many mail clients which is very
> > handy.  
> 
> I understand that, but then again, we don't do that for PRs and people
> don't seem to complain.  Accepting D would make this all
> consistent and commit messages cleaner.  Arguably, if one likes to
> click the URLs in their mail client, why not configure the client to
> expand the URL in place?
> 

> 
> ./danfe
> 

I, personally, would love it if the PR listed in emails was a clickable
link.  Or, even, if in viewvc the PR was a clickable link.  That might
be easier to do, since we wouldn't need to worry about links going
stale to the bugtracker-of-the-year.

- Justin
___
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: r344591 - in head/sys/cddl/contrib/opensolaris/uts: aarch64 arm mips riscv

2019-02-26 Thread Mark Johnston
Author: markj
Date: Tue Feb 26 17:33:56 2019
New Revision: 344591
URL: https://svnweb.freebsd.org/changeset/base/344591

Log:
  Revert r344587.
  
  The fasttrap_isa.h header is needed by libdtrace, not just the kernel.

Added:
  head/sys/cddl/contrib/opensolaris/uts/aarch64/
 - copied from r344586, head/sys/cddl/contrib/opensolaris/uts/aarch64/
  head/sys/cddl/contrib/opensolaris/uts/arm/
 - copied from r344586, head/sys/cddl/contrib/opensolaris/uts/arm/
  head/sys/cddl/contrib/opensolaris/uts/mips/
 - copied from r344586, head/sys/cddl/contrib/opensolaris/uts/mips/
  head/sys/cddl/contrib/opensolaris/uts/riscv/
 - copied from r344586, head/sys/cddl/contrib/opensolaris/uts/riscv/
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
> On 2/25/19 5:11 PM, K. Macy wrote:
> >> This commit needed more through review.
> > 
> > How would this be achieved:? I had several people on the review and no
> > one had substantive feedback.
> 
> As a developer it is your responsibility to be aware of the policies that
> we do document.  One of the things in the license policy Brooks pointed you
> at is that adding new GPL code requires core@ sign off.  This doesn't mean
> core@ will say know.  It does mean that core@ has to make an explicit
> decision.
> 
> (I know Brooks said he intended to update the policy, but in fact it
> already requires core@ sign off for any new code that isn't following
> one of the accepted licenses which are all BSD/MIT-style licenses.)

In defense of K Macy here, the copy of this text in the publically
visible committers guide does not say that.  Hence my earlier mail
about is this text planned as an update to what is in the committers
guide.  Or can you point me to something in the public area that
points at this /internal/license.html file?

> -- 
> John Baldwin
-- 
Rod Grimes rgri...@freebsd.org
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Benjamin Kaduk
On Tue, Feb 26, 2019 at 11:19 AM John Baldwin  wrote:

> On 2/26/19 8:59 AM, Rodney W. Grimes wrote:
> >> On Tue, Feb 26, 2019 at 10:14 AM Cy Schubert  >
> >> wrote:
> >>
> >>> On February 26, 2019 7:48:27 AM PST, Cy Schubert <
> >>> cy.schub...@cschubert.com> wrote:
>  On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
>   wrote:
> >>>
> >>
> >> [trimming the unneeded pile of commit body]
> >>
> >>
>  This broke my systems, many filesystems fail to mount causing nullfs
>  late mounts to fail. No details now until tonight.
> 
>  Suggest we back this out until it is properly tested.
> >>>
> >>> Nested zfs filesystems seem not to be handled properly or possibly not
> >>> supported any more. This explains my mail gateway also not mounting all
> >>> filesystems in /home. It was odd that dovecot stopped working.
> >>>
> >>> The symptom of the problem is zfs mount -a no longer mounts all
> >>> filesystems. Zfs mount fails saying the filesystem is already mounted.
> The
> >>> workaround is to zfs umount each affected zfs dataset by hand and zfs
> mount
> >>> it by hand.
> >>>
> >>> Generally this has screwed up sites that have hundreds (in my case 122)
> >>> zfs datasets. The work around might be to script testing each mount,
> >>> unmounting and remounting if necessary.
> >>>
> >>> I'm being sarcastic about creating an rc script to clean this up. This
> >>> needs to be backed out and tested properly before being committed.
> >>>
> >>>
> >> I don't know what you mean by "nested zfs filesystems" -- do you mean a
> >> zpool within a zvol?
> >> That has been unsupported for a long time, IIRC.  And
> > That had better not be unsupported, that is the prefered technology
> > for all of the virtualization stuff, bhyve, virtualbox, qemu, etc.
>
> I think Ben is referring to using the nested zpool on the host itself
> rather
> than in the guest.  We do actually let you do such crazy things I think (I
> use UFS in my VMs usually and fsck on the host against
> /dev/zvol/bhyve/p2
> can be faster than fsck in the booted guest), but normally the host just
> hosts
> the zvol and the guest manages filesystems in the volume.  Mounting the
> nested zpool on the host is probably best characterized as running with
> scissors.
>
>
Exactly so; thanks for clarifying.

-Ben
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread John Baldwin
On 2/25/19 5:11 PM, K. Macy wrote:
>> This commit needed more through review.
> 
> How would this be achieved:? I had several people on the review and no
> one had substantive feedback.

As a developer it is your responsibility to be aware of the policies that
we do document.  One of the things in the license policy Brooks pointed you
at is that adding new GPL code requires core@ sign off.  This doesn't mean
core@ will say know.  It does mean that core@ has to make an explicit
decision.

(I know Brooks said he intended to update the policy, but in fact it
already requires core@ sign off for any new code that isn't following
one of the accepted licenses which are all BSD/MIT-style licenses.)

-- 
John Baldwin


___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread Alexey Dokuchaev
On Tue, Feb 26, 2019 at 09:12:11AM -0800, John Baldwin wrote:
> On 2/26/19 5:49 AM, Alexey Dokuchaev wrote:
> > On Mon, Feb 25, 2019 at 10:19:45PM -0800, Rodney W. Grimes wrote:
> >> ...
> >> Just a small nit, for future reference, from the template:
> >>> Differential Revision:https://reviews.freebsd.org/D###
> >> (*full* phabric URL needed).
> > 
> > IMHO we should just fix the scripts to accept D alone, without
> > the URL.  We don't do that for PR (bugzilla) references, and the fact
> > that we do for the phab is both needless and confusing.  Also, that
> > URL might change one day while we could probably keep the old numbers
> > if we move.
> 
> It makes the review clickable in many mail clients which is very handy.

I understand that, but then again, we don't do that for PRs and people
don't seem to complain.  Accepting D would make this all consistent
and commit messages cleaner.  Arguably, if one likes to click the URLs
in their mail client, why not configure the client to expand the URL in
place?

> --
> John Baldwin
> 
> \x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a\x9a

Can you do something about this horde of \x9a's appended to your every
email John?

./danfe
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Matthew Macy
On Tue, Feb 26, 2019 at 09:20 Rodney W. Grimes <
free...@pdx.rh.cn85.dnsmgr.net> wrote:

> > This has zero impact on the licensing disposition of the kernel as
> > distributed as it is only used for test kernels. Tests compiled with
> > coverage instrumentation run much slower than even debug, one would never
> > ship this.
>
> Shit happens, mistakes get made, and sadly the consequences for someone
> could be pretty sad.
>
> > You are very much in the minority being more concerned with ideological
> > purity than minimizing the decline in relevance of FreeBSD, much less
> > striving to increase its relevance.
>
> I am not in the minority when it comes to GPL code anyplace
> in our base system, did you not read what core said, did you
> not read the suggested revised license guideline text?
>
> This gcov code has to eventually go, sooner or later.


Unless there is a fully equivalent replacement, that will be another small
step towards Linux's complete hegemony.


>
> > On Tue, Feb 26, 2019 at 08:27 Rodney W. Grimes <
> > free...@pdx.rh.cn85.dnsmgr.net> wrote:
> >
> > > > On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > > > > The modest increase in activation energy for that task seems
> worth
> > > it
> > > > > > > for the short-term gains of reduced integration cost (this code
> > > will
> > > > > > > greatly improve our ZFS-on-Linux test coverage.)
> > > > > > >
> > > > > > > Rod rightly points out that we haven't accepted SPDX tags
> alone as
> > > > > > > license statements.  The standard GPL v2.0 boiler plate should
> be
> > > added
> > > > > > > to this file along side the tag.
> > > > > >
> > > > > > I've copied the full copyright attribution that is in the
> > > > > > corresponding files on Linux. Is there some reason why FreeBSD
> > > > > > requires the files to be inflated with the full license text
> where
> > > the
> > > > > > original lacks it?
> > > > >
> > > > > I think for a few reasons, I doubt you copied the whole
> distribution
> > > > > that this file came from, as I am sure that distribution included
> > > > > a LICENSE file.  Second if you actually read the GPL v2
> documentation
> > > > > and follow what it says it says you must do this, just because some
> > > > > one else does not follow the rules of what the GPL v2 says does not
> > > > > give us to knowingling not do it.  Third this is a particular
> > > dangerious
> > > > > area for BSD to be mixing a GPL code with its kernel, to my
> knowlege
> > > > > we have never had any gpl code in the kernel, no have we ever
> > > > > allowed it, but thats a seperate argument, that should be made.
> > > >
> > > > Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
> > > >
> > > > I, too, would like less GPL in project, both in userland in kernel.
> > > > But, I can understand the desire for gcov. Note that I'm not
> > > > advocating either way that FreeBSD perform an action. ;)
> > >
> > > Didnt we just remove an inbase, compiling BSD licensed chunk of
> > > code called DRM and move it to ports.  So if that was possible
> > > this should be very rapidly applied here and this issue goes away.
> > >
> > > I am still shaking my head over this one.  Yes, there is some
> > > expediance to this.  Also could it not live on a project
> > > branch?  Like.. um.. the ZoL project branch?
> > >
> > > > Thanks,
> > > > Shawn Webb
> > > --
> > > Rod Grimes
> > > rgri...@freebsd.org
> > >
>
> --
> Rod Grimes
> rgri...@freebsd.org
>
___
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: r344590 - head/sys/arm64/rockchip/clk

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 17:20:03 2019
New Revision: 344590
URL: https://svnweb.freebsd.org/changeset/base/344590

Log:
  arm64: rockchip: rk3399_pll: Fix copy paste
  
  RK3399 PLLs don't have mode_reg, use the correct register.
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/clk/rk_clk_pll.c

Modified: head/sys/arm64/rockchip/clk/rk_clk_pll.c
==
--- head/sys/arm64/rockchip/clk/rk_clk_pll.cTue Feb 26 17:08:51 2019
(r344589)
+++ head/sys/arm64/rockchip/clk/rk_clk_pll.cTue Feb 26 17:20:03 2019
(r344590)
@@ -427,7 +427,7 @@ rk3399_clk_pll_set_freq(struct clknode *clk, uint64_t 
/* Setting to slow mode during frequency change */
reg = RK3399_CLK_PLL_MODE_SLOW << RK3399_CLK_PLL_MODE_SHIFT;
reg |= RK3399_CLK_PLL_MODE_MASK << RK_CLK_PLL_MASK_SHIFT;
-   WRITE4(clk, sc->mode_reg, reg);
+   WRITE4(clk, sc->base_offset + 0xC, reg);
 
/* Setting fbdiv */
READ4(clk, sc->base_offset, );
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
> This has zero impact on the licensing disposition of the kernel as
> distributed as it is only used for test kernels. Tests compiled with
> coverage instrumentation run much slower than even debug, one would never
> ship this.

Shit happens, mistakes get made, and sadly the consequences for someone
could be pretty sad.

> You are very much in the minority being more concerned with ideological
> purity than minimizing the decline in relevance of FreeBSD, much less
> striving to increase its relevance.

I am not in the minority when it comes to GPL code anyplace
in our base system, did you not read what core said, did you
not read the suggested revised license guideline text?

This gcov code has to eventually go, sooner or later.

> On Tue, Feb 26, 2019 at 08:27 Rodney W. Grimes <
> free...@pdx.rh.cn85.dnsmgr.net> wrote:
> 
> > > On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > > > The modest increase in activation energy for that task seems worth
> > it
> > > > > > for the short-term gains of reduced integration cost (this code
> > will
> > > > > > greatly improve our ZFS-on-Linux test coverage.)
> > > > > >
> > > > > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > > > > license statements.  The standard GPL v2.0 boiler plate should be
> > added
> > > > > > to this file along side the tag.
> > > > >
> > > > > I've copied the full copyright attribution that is in the
> > > > > corresponding files on Linux. Is there some reason why FreeBSD
> > > > > requires the files to be inflated with the full license text where
> > the
> > > > > original lacks it?
> > > >
> > > > I think for a few reasons, I doubt you copied the whole distribution
> > > > that this file came from, as I am sure that distribution included
> > > > a LICENSE file.  Second if you actually read the GPL v2 documentation
> > > > and follow what it says it says you must do this, just because some
> > > > one else does not follow the rules of what the GPL v2 says does not
> > > > give us to knowingling not do it.  Third this is a particular
> > dangerious
> > > > area for BSD to be mixing a GPL code with its kernel, to my knowlege
> > > > we have never had any gpl code in the kernel, no have we ever
> > > > allowed it, but thats a seperate argument, that should be made.
> > >
> > > Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
> > >
> > > I, too, would like less GPL in project, both in userland in kernel.
> > > But, I can understand the desire for gcov. Note that I'm not
> > > advocating either way that FreeBSD perform an action. ;)
> >
> > Didnt we just remove an inbase, compiling BSD licensed chunk of
> > code called DRM and move it to ports.  So if that was possible
> > this should be very rapidly applied here and this issue goes away.
> >
> > I am still shaking my head over this one.  Yes, there is some
> > expediance to this.  Also could it not live on a project
> > branch?  Like.. um.. the ZoL project branch?
> >
> > > Thanks,
> > > Shawn Webb
> > --
> > Rod Grimes
> > rgri...@freebsd.org
> >

-- 
Rod Grimes rgri...@freebsd.org
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread John Baldwin
On 2/26/19 8:59 AM, Rodney W. Grimes wrote:
>> On Tue, Feb 26, 2019 at 10:14 AM Cy Schubert 
>> wrote:
>>
>>> On February 26, 2019 7:48:27 AM PST, Cy Schubert <
>>> cy.schub...@cschubert.com> wrote:
 On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
  wrote:
>>>
>>
>> [trimming the unneeded pile of commit body]
>>
>>
 This broke my systems, many filesystems fail to mount causing nullfs
 late mounts to fail. No details now until tonight.

 Suggest we back this out until it is properly tested.
>>>
>>> Nested zfs filesystems seem not to be handled properly or possibly not
>>> supported any more. This explains my mail gateway also not mounting all
>>> filesystems in /home. It was odd that dovecot stopped working.
>>>
>>> The symptom of the problem is zfs mount -a no longer mounts all
>>> filesystems. Zfs mount fails saying the filesystem is already mounted. The
>>> workaround is to zfs umount each affected zfs dataset by hand and zfs mount
>>> it by hand.
>>>
>>> Generally this has screwed up sites that have hundreds (in my case 122)
>>> zfs datasets. The work around might be to script testing each mount,
>>> unmounting and remounting if necessary.
>>>
>>> I'm being sarcastic about creating an rc script to clean this up. This
>>> needs to be backed out and tested properly before being committed.
>>>
>>>
>> I don't know what you mean by "nested zfs filesystems" -- do you mean a
>> zpool within a zvol?
>> That has been unsupported for a long time, IIRC.  And
> That had better not be unsupported, that is the prefered technology
> for all of the virtualization stuff, bhyve, virtualbox, qemu, etc.

I think Ben is referring to using the nested zpool on the host itself rather
than in the guest.  We do actually let you do such crazy things I think (I
use UFS in my VMs usually and fsck on the host against /dev/zvol/bhyve/p2
can be faster than fsck in the booted guest), but normally the host just hosts
the zvol and the guest manages filesystems in the volume.  Mounting the
nested zpool on the host is probably best characterized as running with
scissors.

-- 
John Baldwin


___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Warner Losh
On Tue, Feb 26, 2019 at 8:46 AM Shawn Webb 
wrote:

> On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > The modest increase in activation energy for that task seems worth it
> > > > for the short-term gains of reduced integration cost (this code will
> > > > greatly improve our ZFS-on-Linux test coverage.)
> > > >
> > > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > > license statements.  The standard GPL v2.0 boiler plate should be
> added
> > > > to this file along side the tag.
> > >
> > > I've copied the full copyright attribution that is in the
> > > corresponding files on Linux. Is there some reason why FreeBSD
> > > requires the files to be inflated with the full license text where the
> > > original lacks it?
> >
> > I think for a few reasons, I doubt you copied the whole distribution
> > that this file came from, as I am sure that distribution included
> > a LICENSE file.  Second if you actually read the GPL v2 documentation
> > and follow what it says it says you must do this, just because some
> > one else does not follow the rules of what the GPL v2 says does not
> > give us to knowingling not do it.  Third this is a particular dangerious
> > area for BSD to be mixing a GPL code with its kernel, to my knowlege
> > we have never had any gpl code in the kernel, no have we ever
> > allowed it, but thats a seperate argument, that should be made.
>
> Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
>

No. dts gets compiled into dtb. dtb is a separate work loaded by the boot
loader. While one can compile it into the kernel, we don't ship like that.

There's also a question as to whether or not these files are text
representation of the hardware, and there being only one way to represent
it (making it not copyrightable under at least US case law since it's a
database). That question hasn't been litigated. Many hardware companies
also dual license the dts. Since we're not incorporating it into the
kernel, but merely using it as a standardized table (there's a separate
group that controls the dts/dtb spec), I think we're safe from that angle
as well.

There's benefit from having it in-tree because the version of the spec
evolves over time, and having the right version makes it harder to push
this off into a port. Also, having them in-tree makes the project's
compliance with GPL a no-op because it's all there in the open in a tagged
VCS.

tl;dr: I don't think this is an issue.


> I, too, would like less GPL in project, both in userland in kernel.
> But, I can understand the desire for gcov. Note that I'm not
> advocating either way that FreeBSD perform an action. ;)
>

Given this is for TEST kernels, there's no issue here.  While we'd like to
be GPL free, let's not cut off our nose to spite our face. Given the
interactions between different bits, the FreeBSD selling point of "well
integrated" I think trumps the purity arguments because it's not code
anybody would ever ship (and if they did, they'd get the proper warnings).

Warner
___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread John Baldwin
On 2/26/19 5:49 AM, Alexey Dokuchaev wrote:
> On Mon, Feb 25, 2019 at 10:19:45PM -0800, Rodney W. Grimes wrote:
>>> Author: sjg
>>> Date: Tue Feb 26 06:17:23 2019
>>> New Revision: 344567
>>> URL: https://svnweb.freebsd.org/changeset/base/344567
>>>
>>> Log:
>>>   Add verifying manifest loader for mac_veriexec
>>>   
>>>   This tool will verify a signed manifest and load contents into
>>>   mac_veriexec for storage
>>>   
>>>   Sponsored by: Juniper Networks
>>>   Differential Revision:D16575
>>
>> Just a small nit, for future reference, from the template:
>>> Differential Revision:https://reviews.freebsd.org/D###
>> (*full* phabric URL needed).
> 
> IMHO we should just fix the scripts to accept D alone, without
> the URL.  We don't do that for PR (bugzilla) references, and the fact
> that we do for the phab is both needless and confusing.  Also, that
> URL might change one day while we could probably keep the old numbers
> if we move.

It makes the review clickable in many mail clients which is very handy.
(I use that very often.)  The URL is already generic (reviews.freebsd.org
rather than phabricator.freebsd.org) to accommodate any future replacements
of phab with something else.

You are more than welcome to submit patches to phab.  Getting it to honor
our template so one could just use 'arc commit' directly would probably be
an even bigger win than honoring D in this field, though the second
task is probably simpler?

-- 
John Baldwin


___
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: r344589 - head/sys/arm64/rockchip/clk

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 17:08:51 2019
New Revision: 344589
URL: https://svnweb.freebsd.org/changeset/base/344589

Log:
  arm64: rockchip: rk3399_pll: Switch to slow mode when changing the freq
  
  Like r344578 but for RK3399.
  This solve some hangs when switching between frequency.
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/clk/rk_clk_pll.c

Modified: head/sys/arm64/rockchip/clk/rk_clk_pll.c
==
--- head/sys/arm64/rockchip/clk/rk_clk_pll.cTue Feb 26 16:34:43 2019
(r344588)
+++ head/sys/arm64/rockchip/clk/rk_clk_pll.cTue Feb 26 17:08:51 2019
(r344589)
@@ -424,6 +424,11 @@ rk3399_clk_pll_set_freq(struct clknode *clk, uint64_t 
 
DEVICE_LOCK(clk);
 
+   /* Setting to slow mode during frequency change */
+   reg = RK3399_CLK_PLL_MODE_SLOW << RK3399_CLK_PLL_MODE_SHIFT;
+   reg |= RK3399_CLK_PLL_MODE_MASK << RK_CLK_PLL_MASK_SHIFT;
+   WRITE4(clk, sc->mode_reg, reg);
+
/* Setting fbdiv */
READ4(clk, sc->base_offset, );
reg &= ~RK3399_CLK_PLL_FBDIV_MASK;
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Matthew Macy
This has zero impact on the licensing disposition of the kernel as
distributed as it is only used for test kernels. Tests compiled with
coverage instrumentation run much slower than even debug, one would never
ship this.

You are very much in the minority being more concerned with ideological
purity than minimizing the decline in relevance of FreeBSD, much less
striving to increase its relevance.



On Tue, Feb 26, 2019 at 08:27 Rodney W. Grimes <
free...@pdx.rh.cn85.dnsmgr.net> wrote:

> > On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > > The modest increase in activation energy for that task seems worth
> it
> > > > > for the short-term gains of reduced integration cost (this code
> will
> > > > > greatly improve our ZFS-on-Linux test coverage.)
> > > > >
> > > > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > > > license statements.  The standard GPL v2.0 boiler plate should be
> added
> > > > > to this file along side the tag.
> > > >
> > > > I've copied the full copyright attribution that is in the
> > > > corresponding files on Linux. Is there some reason why FreeBSD
> > > > requires the files to be inflated with the full license text where
> the
> > > > original lacks it?
> > >
> > > I think for a few reasons, I doubt you copied the whole distribution
> > > that this file came from, as I am sure that distribution included
> > > a LICENSE file.  Second if you actually read the GPL v2 documentation
> > > and follow what it says it says you must do this, just because some
> > > one else does not follow the rules of what the GPL v2 says does not
> > > give us to knowingling not do it.  Third this is a particular
> dangerious
> > > area for BSD to be mixing a GPL code with its kernel, to my knowlege
> > > we have never had any gpl code in the kernel, no have we ever
> > > allowed it, but thats a seperate argument, that should be made.
> >
> > Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
> >
> > I, too, would like less GPL in project, both in userland in kernel.
> > But, I can understand the desire for gcov. Note that I'm not
> > advocating either way that FreeBSD perform an action. ;)
>
> Didnt we just remove an inbase, compiling BSD licensed chunk of
> code called DRM and move it to ports.  So if that was possible
> this should be very rapidly applied here and this issue goes away.
>
> I am still shaking my head over this one.  Yes, there is some
> expediance to this.  Also could it not live on a project
> branch?  Like.. um.. the ZoL project branch?
>
> > Thanks,
> > Shawn Webb
>
> --
> Rod Grimes
> rgri...@freebsd.org
>
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Rodney W. Grimes
> On Tue, Feb 26, 2019 at 10:14 AM Cy Schubert 
> wrote:
> 
> > On February 26, 2019 7:48:27 AM PST, Cy Schubert <
> > cy.schub...@cschubert.com> wrote:
> > >On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> > > wrote:
> >
> 
> [trimming the unneeded pile of commit body]
> 
> 
> > >This broke my systems, many filesystems fail to mount causing nullfs
> > >late mounts to fail. No details now until tonight.
> > >
> > >Suggest we back this out until it is properly tested.
> >
> > Nested zfs filesystems seem not to be handled properly or possibly not
> > supported any more. This explains my mail gateway also not mounting all
> > filesystems in /home. It was odd that dovecot stopped working.
> >
> > The symptom of the problem is zfs mount -a no longer mounts all
> > filesystems. Zfs mount fails saying the filesystem is already mounted. The
> > workaround is to zfs umount each affected zfs dataset by hand and zfs mount
> > it by hand.
> >
> > Generally this has screwed up sites that have hundreds (in my case 122)
> > zfs datasets. The work around might be to script testing each mount,
> > unmounting and remounting if necessary.
> >
> > I'm being sarcastic about creating an rc script to clean this up. This
> > needs to be backed out and tested properly before being committed.
> >
> >
> I don't know what you mean by "nested zfs filesystems" -- do you mean a
> zpool within a zvol?
> That has been unsupported for a long time, IIRC.  And
That had better not be unsupported, that is the prefered technology
for all of the virtualization stuff, bhyve, virtualbox, qemu, etc.

I think by nested zfs it sounds like he is talking about datasets
inside of other datasets just from reading "all filesystems in /home"


> I'm not sure what else "nested filesystems" would be, since having (e.g.)
> separate zfs filesystems for /usr and /usr/ports is so common that surely
> it has already been tested...

It might be when the intervening dataset is marked canmount=off?
Though that should fail for the /usr /usr/foo case, as usr is normally
marked this way.  Maybe some other special case.

> -Ben
-- 
Rod Grimes rgri...@freebsd.org
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Enji Cooper

> On Feb 26, 2019, at 8:27 AM, Rodney W. Grimes 
>  wrote:

…

> Didnt we just remove an inbase, compiling BSD licensed chunk of
> code called DRM and move it to ports.  So if that was possible
> this should be very rapidly applied here and this issue goes away.
> 
> I am still shaking my head over this one.  Yes, there is some
> expediance to this.  Also could it not live on a project
> branch?  Like.. um.. the ZoL project branch?

Kernel gcov provides a lot of value beyond ZoL. Knowing which branches are 
being hit by analysis, then producing tests (or pruning dead branches if need 
be), can greatly improve the quality of kernel code, instead of making a 
discovery like, "I just tested a thing by running a common workload, and it hit 
these branches by side-effect, but I omitted these sets of branches, which 
resulted in panics post-release".

Isilon used its own homegrown variant of this for many moons (and it was a 
mess). This solution is great for developers/testers, minus the concerns I (and 
others) have over licensing.

Thanks,
-Enji
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Jack Halford
> Nested zfs filesystems seem not to be handled properly or possibly not 
> supported any more. This explains my mail gateway also not mounting all 
> filesystems in /home. It was odd that dovecot stopped working.
> 
> The symptom of the problem is zfs mount -a no longer mounts all filesystems. 
> Zfs mount fails saying the filesystem is already mounted. The workaround is 
> to zfs umount each affected zfs dataset by hand and zfs mount it by hand.
> 
> Generally this has screwed up sites that have hundreds (in my case 122) zfs 
> datasets. The work around might be to script testing each mount, unmounting 
> and remounting if necessary.
> 
> I'm being sarcastic about creating an rc script to clean this up. This needs 
> to be backed out and tested properly before being committed. 

Thanks for the feedback, I’ll try to reproduce this on my side.

regards
— j...@gandi.net
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
On February 26, 2019 8:11:31 AM PST, Baptiste Daroussin  
wrote:
>On Tue, Feb 26, 2019 at 05:04:11PM +0100, Baptiste Daroussin wrote:
>> On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
>> > On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> wrote:
>> > >Author: bapt
>> > >Date: Tue Feb 26 08:18:34 2019
>> > >New Revision: 344569
>> > >URL: https://svnweb.freebsd.org/changeset/base/344569
>> > >
>> > >Log:
>> > >  Implement parallel mounting for ZFS filesystem
>> > >  
>> > >  It was first implemented on Illumos and then ported to ZoL.
>> > >  This patch is a port to FreeBSD of the ZoL version.
>> > >  This patch also includes a fix for a race condition that was
>amended
>> > >  
>> > >With such patch Delphix has seen a huge decrease in latency of the
>> > >mount phase
>> > >  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for
>details).
>> > >With that current change Gandi has measured improvments that are
>on par
>> > >with
>> > >  those reported by Delphix.
>> > >  
>> > >  Zol commits incorporated:
>> >
>>https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
>> >
>>https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
>> > >  
>> > >  Reviewed by:avg, sef
>> > >  Approved by:avg, sef
>> > >  Obtained from:  ZoL
>> > >  MFC after:  1 month
>> > >  Relnotes:   yes
>> > >  Sponsored by:   Gandi.net
>> > >  Differential Revision:  https://reviews.freebsd.org/D19098
>> > >
>> > >Modified:
>> > >  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
>> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
>> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
>> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>> > >
>> > >Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>> >
>>==
>> > >--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  Tue Feb 26
>> > >06:22:10 2019 (r344568)
>> > >+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  Tue Feb 26
>> > >08:18:34 2019 (r344569)
>> > >@@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
>> > > 
>> > > #define  CHECK_SPINNER 30
>> > > #define  SPINNER_TIME 3  /* seconds */
>> > >-#define  MOUNT_TIME 5/* seconds */
>> > >+#define  MOUNT_TIME 1/* seconds */
>> > > 
>> > >+typedef struct get_all_state {
>> > >+ boolean_t   ga_verbose;
>> > >+ get_all_cb_t*ga_cbp;
>> > >+} get_all_state_t;
>> > >+
>> > > static int
>> > > get_one_dataset(zfs_handle_t *zhp, void *data)
>> > > {
>> > >@@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void
>*data)
>> > >  static int spinval = 0;
>> > >  static int spincheck = 0;
>> > >  static time_t last_spin_time = (time_t)0;
>> > >- get_all_cb_t *cbp = data;
>> > >+ get_all_state_t *state = data;
>> > >  zfs_type_t type = zfs_get_type(zhp);
>> > > 
>> > >- if (cbp->cb_verbose) {
>> > >+ if (state->ga_verbose) {
>> > >  if (--spincheck < 0) {
>> > >  time_t now = time(NULL);
>> > >  if (last_spin_time + SPINNER_TIME < now) {
>> > >@@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void
>*data)
>> > >  zfs_close(zhp);
>> > >  return (0);
>> > >  }
>> > >- libzfs_add_handle(cbp, zhp);
>> > >- assert(cbp->cb_used <= cbp->cb_alloc);
>> > >+ libzfs_add_handle(state->ga_cbp, zhp);
>> > >+ assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
>> > > 
>> > >  return (0);
>> > > }
>> > > 
>> > > static void
>> > >-get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t
>> > >verbose)
>> > >+get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
>> > > {
>> > >- get_all_cb_t cb = { 0 };
>> > >- cb.cb_verbose = verbose;
>> > >- cb.cb_getone = get_one_dataset;
>> > >+ get_all_state_t state = {
>> > >+ .ga_verbose = verbose,
>> > >+ .ga_cbp = cbp
>> > >+ };
>> > > 
>> > >  if (verbose)
>> > >  set_progress_header(gettext("Reading ZFS config"));
>> > >- (void) zfs_iter_root(g_zfs, get_one_dataset, );
>> > >+ (void) zfs_iter_root(g_zfs, get_one_dataset, );
>> > > 
>> > >- *dslist = cb.cb_handles;
>> > >- *count = cb.cb_used;
>> > >-
>> > >  if (verbose)
>> > >  finish_progress(gettext("done."));
>> > > }
>> > >@@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist,
>size_t
>> > >*count
>> > >* similar, we have a common function with an extra parameter to
>> > >determine which
>> > >  * mode we are using.
>> > >  */
>> > >-#define  OP_SHARE0x1
>> > >-#define  OP_MOUNT0x2
>> > >+typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
>> > > 
>> > >+typedef struct share_mount_state {
>> > >+ share_mount_op_tsm_op;
>> > >+ boolean_t   sm_verbose;
>> > >+ int sm_flags;
>> > >+ char*sm_options;
>> > >+ char*sm_proto; /* only valid for 

svn commit: r344588 - head/sys/cddl/contrib/opensolaris/uts/intel/dtrace

2019-02-26 Thread Mark Johnston
Author: markj
Date: Tue Feb 26 16:34:43 2019
New Revision: 344588
URL: https://svnweb.freebsd.org/changeset/base/344588

Log:
  Remove illumos-specific code from the x86 fasttrap_isa.c.
  
  The file has not been touched upstream in over a decade, and the nature
  of the code means that a lot of FreeBSD-specific bits are required.  Remove
  the dead code to improve readability.  No functional change intended.
  
  Discussed with:   cem
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c

Modified: head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c
==
--- head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c   Tue Feb 
26 16:31:47 2019(r344587)
+++ head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c   Tue Feb 
26 16:34:43 2019(r344588)
@@ -28,21 +28,11 @@
  * Use is subject to license terms.
  */
 
-#ifdef illumos
-#pragma ident  "%Z%%M% %I% %E% SMI"
-#endif
-
 #include 
 #include 
 #include 
 #include 
 #include 
-#ifdef illumos
-#include 
-#include 
-#include 
-#include 
-#else
 #include 
 #include 
 #include 
@@ -53,14 +43,8 @@
 #include 
 #include 
 #include 
-#endif
 #include 
-#ifdef illumos
-#include 
-#include 
-#else
 #include 
-#endif /* illumos */
 
 #ifdef __i386__
 #definer_rax   r_eax
@@ -707,16 +691,9 @@ fasttrap_return_common(struct reg *rp, uintptr_t pc, p
fasttrap_tracepoint_t *tp;
fasttrap_bucket_t *bucket;
fasttrap_id_t *id;
-#ifdef illumos
-   kmutex_t *pid_mtx;
-
-   pid_mtx = _core[CPU->cpu_id].cpuc_pid_lock;
-   mutex_enter(pid_mtx);
-#else
struct rm_priotracker tracker;
 
rm_rlock(_tp_lock, );
-#endif
bucket = _tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)];
 
for (tp = bucket->ftb_data; tp != NULL; tp = tp->ftt_next) {
@@ -731,11 +708,7 @@ fasttrap_return_common(struct reg *rp, uintptr_t pc, p
 * is not essential to the correct execution of the process.
 */
if (tp == NULL) {
-#ifdef illumos
-   mutex_exit(pid_mtx);
-#else
rm_runlock(_tp_lock, );
-#endif
return;
}
 
@@ -756,30 +729,12 @@ fasttrap_return_common(struct reg *rp, uintptr_t pc, p
rp->r_rax, rp->r_rbx, 0, 0);
}
 
-#ifdef illumos
-   mutex_exit(pid_mtx);
-#else
rm_runlock(_tp_lock, );
-#endif
 }
 
 static void
 fasttrap_sigsegv(proc_t *p, kthread_t *t, uintptr_t addr)
 {
-#ifdef illumos
-   sigqueue_t *sqp = kmem_zalloc(sizeof (sigqueue_t), KM_SLEEP);
-
-   sqp->sq_info.si_signo = SIGSEGV;
-   sqp->sq_info.si_code = SEGV_MAPERR;
-   sqp->sq_info.si_addr = (caddr_t)addr;
-
-   mutex_enter(>p_lock);
-   sigaddqa(p, t, sqp);
-   mutex_exit(>p_lock);
-
-   if (t != NULL)
-   aston(t);
-#else
ksiginfo_t *ksi = kmem_zalloc(sizeof (ksiginfo_t), KM_SLEEP);
 
ksiginfo_init(ksi);
@@ -787,7 +742,6 @@ fasttrap_sigsegv(proc_t *p, kthread_t *t, uintptr_t ad
ksi->ksi_code = SEGV_MAPERR;
ksi->ksi_addr = (caddr_t)addr;
(void) tdksignal(t, SIGSEGV, ksi);
-#endif
 }
 
 #ifdef __amd64
@@ -971,9 +925,6 @@ fasttrap_pid_probe(struct trapframe *tf)
uintptr_t pc;
uintptr_t new_pc = 0;
fasttrap_bucket_t *bucket;
-#ifdef illumos
-   kmutex_t *pid_mtx;
-#endif
fasttrap_tracepoint_t *tp, tp_local;
pid_t pid;
dtrace_icookie_t cookie;
@@ -1013,15 +964,6 @@ fasttrap_pid_probe(struct trapframe *tf)
 * parent. We know that there's only one thread of control in such a
 * process: this one.
 */
-#ifdef illumos
-   while (p->p_flag & SVFORK) {
-   p = p->p_parent;
-   }
-
-   pid = p->p_pid;
-   pid_mtx = _core[CPU->cpu_id].cpuc_pid_lock;
-   mutex_enter(pid_mtx);
-#else
pp = p;
sx_slock(_lock);
while (pp->p_vmspace == pp->p_pptr->p_vmspace)
@@ -1045,7 +987,6 @@ fasttrap_pid_probe(struct trapframe *tf)
sx_sunlock(_lock);
 
rm_rlock(_tp_lock, );
-#endif
 
bucket = _tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)];
 
@@ -1064,10 +1005,6 @@ fasttrap_pid_probe(struct trapframe *tf)
 * fasttrap_ioctl), or somehow we have mislaid this tracepoint.
 */
if (tp == NULL) {
-#ifdef illumos
-   mutex_exit(pid_mtx);
-   return (-1);
-#else
rm_runlock(_tp_lock, );
gen = atomic_load_acq_64(>p_fasttrap_tp_gen);
if (pp != p)
@@ -1088,7 +1025,6 @@ fasttrap_pid_probe(struct trapframe *tf)
return (0);
}
return (-1);
-#endif
}
if (pp != p)
PRELE(pp);
@@ -1210,11 +1146,7 @@ fasttrap_pid_probe(struct trapframe *tf)
 * tracepoint again 

svn commit: r344587 - in head/sys/cddl/contrib/opensolaris/uts: aarch64 arm mips riscv

2019-02-26 Thread Mark Johnston
Author: markj
Date: Tue Feb 26 16:31:47 2019
New Revision: 344587
URL: https://svnweb.freebsd.org/changeset/base/344587

Log:
  Remove stub fasttrap implementations.
  
  No platforms except i386, amd64 and powerpc implement fasttrap; the
  fasttrap files for other arches do not contain any code and bloat
  the output from cscope, so just remove them.
  
  MFC after:1 week

Deleted:
  head/sys/cddl/contrib/opensolaris/uts/aarch64/
  head/sys/cddl/contrib/opensolaris/uts/arm/
  head/sys/cddl/contrib/opensolaris/uts/mips/
  head/sys/cddl/contrib/opensolaris/uts/riscv/
___
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: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
> On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > > The modest increase in activation energy for that task seems worth it
> > > > for the short-term gains of reduced integration cost (this code will
> > > > greatly improve our ZFS-on-Linux test coverage.)
> > > >
> > > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > > license statements.  The standard GPL v2.0 boiler plate should be added
> > > > to this file along side the tag.
> > > 
> > > I've copied the full copyright attribution that is in the
> > > corresponding files on Linux. Is there some reason why FreeBSD
> > > requires the files to be inflated with the full license text where the
> > > original lacks it?
> > 
> > I think for a few reasons, I doubt you copied the whole distribution
> > that this file came from, as I am sure that distribution included
> > a LICENSE file.  Second if you actually read the GPL v2 documentation
> > and follow what it says it says you must do this, just because some
> > one else does not follow the rules of what the GPL v2 says does not
> > give us to knowingling not do it.  Third this is a particular dangerious
> > area for BSD to be mixing a GPL code with its kernel, to my knowlege
> > we have never had any gpl code in the kernel, no have we ever
> > allowed it, but thats a seperate argument, that should be made.
> 
> Would the arm64 DTS/DTB files count as "GPL code in the kernel?"
> 
> I, too, would like less GPL in project, both in userland in kernel.
> But, I can understand the desire for gcov. Note that I'm not
> advocating either way that FreeBSD perform an action. ;)

Didnt we just remove an inbase, compiling BSD licensed chunk of
code called DRM and move it to ports.  So if that was possible
this should be very rapidly applied here and this issue goes away.

I am still shaking my head over this one.  Yes, there is some
expediance to this.  Also could it not live on a project
branch?  Like.. um.. the ZoL project branch?

> Thanks,
> Shawn Webb

-- 
Rod Grimes rgri...@freebsd.org
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Benjamin Kaduk
On Tue, Feb 26, 2019 at 10:14 AM Cy Schubert 
wrote:

> On February 26, 2019 7:48:27 AM PST, Cy Schubert <
> cy.schub...@cschubert.com> wrote:
> >On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> > wrote:
>

[trimming the unneeded pile of commit body]


> >This broke my systems, many filesystems fail to mount causing nullfs
> >late mounts to fail. No details now until tonight.
> >
> >Suggest we back this out until it is properly tested.
>
> Nested zfs filesystems seem not to be handled properly or possibly not
> supported any more. This explains my mail gateway also not mounting all
> filesystems in /home. It was odd that dovecot stopped working.
>
> The symptom of the problem is zfs mount -a no longer mounts all
> filesystems. Zfs mount fails saying the filesystem is already mounted. The
> workaround is to zfs umount each affected zfs dataset by hand and zfs mount
> it by hand.
>
> Generally this has screwed up sites that have hundreds (in my case 122)
> zfs datasets. The work around might be to script testing each mount,
> unmounting and remounting if necessary.
>
> I'm being sarcastic about creating an rc script to clean this up. This
> needs to be backed out and tested properly before being committed.
>
>
I don't know what you mean by "nested zfs filesystems" -- do you mean a
zpool within a zvol?  That has been unsupported for a long time, IIRC.  And
I'm not sure what else "nested filesystems" would be, since having (e.g.)
separate zfs filesystems for /usr and /usr/ports is so common that surely
it has already been tested...

-Ben
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
On February 26, 2019 7:48:27 AM PST, Cy Schubert  
wrote:
>On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin
> wrote:
>>Author: bapt
>>Date: Tue Feb 26 08:18:34 2019
>>New Revision: 344569
>>URL: https://svnweb.freebsd.org/changeset/base/344569
>>
>>Log:
>>  Implement parallel mounting for ZFS filesystem
>>  
>>  It was first implemented on Illumos and then ported to ZoL.
>>  This patch is a port to FreeBSD of the ZoL version.
>>  This patch also includes a fix for a race condition that was amended
>>  
>>With such patch Delphix has seen a huge decrease in latency of the
>>mount phase
>>  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for details).
>>With that current change Gandi has measured improvments that are on
>par
>>with
>>  those reported by Delphix.
>>  
>>  Zol commits incorporated:
>>https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
>>https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
>>  
>>  Reviewed by:avg, sef
>>  Approved by:avg, sef
>>  Obtained from:  ZoL
>>  MFC after:  1 month
>>  Relnotes:   yes
>>  Sponsored by:   Gandi.net
>>  Differential Revision:  https://reviews.freebsd.org/D19098
>>
>>Modified:
>>  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
>>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
>>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
>>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>>
>>Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>>==
>>--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  Tue Feb 26
>>06:22:10 2019 (r344568)
>>+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  Tue Feb 26
>>08:18:34 2019 (r344569)
>>@@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
>> 
>> #define  CHECK_SPINNER 30
>> #define  SPINNER_TIME 3  /* seconds */
>>-#define  MOUNT_TIME 5/* seconds */
>>+#define  MOUNT_TIME 1/* seconds */
>> 
>>+typedef struct get_all_state {
>>+ boolean_t   ga_verbose;
>>+ get_all_cb_t*ga_cbp;
>>+} get_all_state_t;
>>+
>> static int
>> get_one_dataset(zfs_handle_t *zhp, void *data)
>> {
>>@@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
>>  static int spinval = 0;
>>  static int spincheck = 0;
>>  static time_t last_spin_time = (time_t)0;
>>- get_all_cb_t *cbp = data;
>>+ get_all_state_t *state = data;
>>  zfs_type_t type = zfs_get_type(zhp);
>> 
>>- if (cbp->cb_verbose) {
>>+ if (state->ga_verbose) {
>>  if (--spincheck < 0) {
>>  time_t now = time(NULL);
>>  if (last_spin_time + SPINNER_TIME < now) {
>>@@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
>>  zfs_close(zhp);
>>  return (0);
>>  }
>>- libzfs_add_handle(cbp, zhp);
>>- assert(cbp->cb_used <= cbp->cb_alloc);
>>+ libzfs_add_handle(state->ga_cbp, zhp);
>>+ assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
>> 
>>  return (0);
>> }
>> 
>> static void
>>-get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t
>>verbose)
>>+get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
>> {
>>- get_all_cb_t cb = { 0 };
>>- cb.cb_verbose = verbose;
>>- cb.cb_getone = get_one_dataset;
>>+ get_all_state_t state = {
>>+ .ga_verbose = verbose,
>>+ .ga_cbp = cbp
>>+ };
>> 
>>  if (verbose)
>>  set_progress_header(gettext("Reading ZFS config"));
>>- (void) zfs_iter_root(g_zfs, get_one_dataset, );
>>+ (void) zfs_iter_root(g_zfs, get_one_dataset, );
>> 
>>- *dslist = cb.cb_handles;
>>- *count = cb.cb_used;
>>-
>>  if (verbose)
>>  finish_progress(gettext("done."));
>> }
>>@@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t
>>*count
>>* similar, we have a common function with an extra parameter to
>>determine which
>>  * mode we are using.
>>  */
>>-#define  OP_SHARE0x1
>>-#define  OP_MOUNT0x2
>>+typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
>> 
>>+typedef struct share_mount_state {
>>+ share_mount_op_tsm_op;
>>+ boolean_t   sm_verbose;
>>+ int sm_flags;
>>+ char*sm_options;
>>+ char*sm_proto; /* only valid for OP_SHARE */
>>+ pthread_mutex_t sm_lock; /* protects the remaining fields */
>>+ uint_t  sm_total; /* number of filesystems to process */
>>+ uint_t  sm_done; /* number of filesystems processed */
>>+ int sm_status; /* -1 if any of the share/mount operations failed */
>>+} share_mount_state_t;
>>+
>> /*
>>  * Share or mount a dataset.
>>  */
>>@@ -6122,6 +6136,29 @@ report_mount_progress(int current, int total)
>>  

Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Baptiste Daroussin
On Tue, Feb 26, 2019 at 05:04:11PM +0100, Baptiste Daroussin wrote:
> On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
> > On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin  
> > wrote:
> > >Author: bapt
> > >Date: Tue Feb 26 08:18:34 2019
> > >New Revision: 344569
> > >URL: https://svnweb.freebsd.org/changeset/base/344569
> > >
> > >Log:
> > >  Implement parallel mounting for ZFS filesystem
> > >  
> > >  It was first implemented on Illumos and then ported to ZoL.
> > >  This patch is a port to FreeBSD of the ZoL version.
> > >  This patch also includes a fix for a race condition that was amended
> > >  
> > >With such patch Delphix has seen a huge decrease in latency of the
> > >mount phase
> > >  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for details).
> > >With that current change Gandi has measured improvments that are on par
> > >with
> > >  those reported by Delphix.
> > >  
> > >  Zol commits incorporated:
> > >https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
> > >https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
> > >  
> > >  Reviewed by: avg, sef
> > >  Approved by: avg, sef
> > >  Obtained from:   ZoL
> > >  MFC after:   1 month
> > >  Relnotes:yes
> > >  Sponsored by:Gandi.net
> > >  Differential Revision:   https://reviews.freebsd.org/D19098
> > >
> > >Modified:
> > >  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
> > >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
> > >
> > >Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> > >==
> > >--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c   Tue Feb 26
> > >06:22:10 2019  (r344568)
> > >+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c   Tue Feb 26
> > >08:18:34 2019  (r344569)
> > >@@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
> > > 
> > > #define   CHECK_SPINNER 30
> > > #define   SPINNER_TIME 3  /* seconds */
> > >-#define   MOUNT_TIME 5/* seconds */
> > >+#define   MOUNT_TIME 1/* seconds */
> > > 
> > >+typedef struct get_all_state {
> > >+  boolean_t   ga_verbose;
> > >+  get_all_cb_t*ga_cbp;
> > >+} get_all_state_t;
> > >+
> > > static int
> > > get_one_dataset(zfs_handle_t *zhp, void *data)
> > > {
> > >@@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
> > >   static int spinval = 0;
> > >   static int spincheck = 0;
> > >   static time_t last_spin_time = (time_t)0;
> > >-  get_all_cb_t *cbp = data;
> > >+  get_all_state_t *state = data;
> > >   zfs_type_t type = zfs_get_type(zhp);
> > > 
> > >-  if (cbp->cb_verbose) {
> > >+  if (state->ga_verbose) {
> > >   if (--spincheck < 0) {
> > >   time_t now = time(NULL);
> > >   if (last_spin_time + SPINNER_TIME < now) {
> > >@@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
> > >   zfs_close(zhp);
> > >   return (0);
> > >   }
> > >-  libzfs_add_handle(cbp, zhp);
> > >-  assert(cbp->cb_used <= cbp->cb_alloc);
> > >+  libzfs_add_handle(state->ga_cbp, zhp);
> > >+  assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
> > > 
> > >   return (0);
> > > }
> > > 
> > > static void
> > >-get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t
> > >verbose)
> > >+get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
> > > {
> > >-  get_all_cb_t cb = { 0 };
> > >-  cb.cb_verbose = verbose;
> > >-  cb.cb_getone = get_one_dataset;
> > >+  get_all_state_t state = {
> > >+  .ga_verbose = verbose,
> > >+  .ga_cbp = cbp
> > >+  };
> > > 
> > >   if (verbose)
> > >   set_progress_header(gettext("Reading ZFS config"));
> > >-  (void) zfs_iter_root(g_zfs, get_one_dataset, );
> > >+  (void) zfs_iter_root(g_zfs, get_one_dataset, );
> > > 
> > >-  *dslist = cb.cb_handles;
> > >-  *count = cb.cb_used;
> > >-
> > >   if (verbose)
> > >   finish_progress(gettext("done."));
> > > }
> > >@@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t
> > >*count
> > >* similar, we have a common function with an extra parameter to
> > >determine which
> > >  * mode we are using.
> > >  */
> > >-#define   OP_SHARE0x1
> > >-#define   OP_MOUNT0x2
> > >+typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
> > > 
> > >+typedef struct share_mount_state {
> > >+  share_mount_op_tsm_op;
> > >+  boolean_t   sm_verbose;
> > >+  int sm_flags;
> > >+  char*sm_options;
> > >+  char*sm_proto; /* only valid for OP_SHARE */
> > >+  pthread_mutex_t sm_lock; /* protects the remaining fields */
> > >+  uint_t  sm_total; /* number of filesystems to 

svn commit: r344586 - head/sys/cam/ctl

2019-02-26 Thread Alexander Motin
Author: mav
Date: Tue Feb 26 16:05:33 2019
New Revision: 344586
URL: https://svnweb.freebsd.org/changeset/base/344586

Log:
  Scrap some debug printf's, unused for years.
  
  MFC after:2 weeks

Modified:
  head/sys/cam/ctl/ctl.c

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Tue Feb 26 15:29:16 2019(r344585)
+++ head/sys/cam/ctl/ctl.c  Tue Feb 26 16:05:33 2019(r344586)
@@ -1452,12 +1452,6 @@ ctl_isc_event_handler(ctl_ha_channel channel, ctl_ha_e
if (softc->ha_mode != CTL_HA_MODE_XFER)
io->io_hdr.flags |= CTL_FLAG_INT_COPY;
io->io_hdr.nexus = msg->hdr.nexus;
-#if 0
-   printf("port %u, iid %u, lun %u\n",
-  io->io_hdr.nexus.targ_port,
-  io->io_hdr.nexus.initid,
-  io->io_hdr.nexus.targ_lun);
-#endif
io->scsiio.tag_num = msg->scsi.tag_num;
io->scsiio.tag_type = msg->scsi.tag_type;
 #ifdef CTL_TIME_IO
@@ -1537,11 +1531,6 @@ ctl_isc_event_handler(ctl_ha_channel channel, ctl_ha_e
 msg->dt.cur_sg_entries); i++, j++) {
sgl[i].addr = msg->dt.sg_list[j].addr;
sgl[i].len = msg->dt.sg_list[j].len;
-
-#if 0
-   printf("%s: DATAMOVE: %p,%lu j=%d, i=%d\n",
-   __func__, sgl[i].addr, sgl[i].len, j, i);
-#endif
}
 
/*
@@ -6466,11 +6455,6 @@ ctl_mode_sense(struct ctl_scsiio *ctsio)
 && (subpage == SMS_SUBPAGE_PAGE_0))
continue;
 
-#if 0
-   printf("found page %#x len %d\n",
-  page_index->page_code & SMPH_PC_MASK,
-  page_index->page_len);
-#endif
page_len += page_index->page_len;
}
break;
@@ -6503,12 +6487,6 @@ ctl_mode_sense(struct ctl_scsiio *ctsio)
 && (subpage != SMS_SUBPAGE_ALL))
continue;
 
-#if 0
-   printf("found page %#x len %d\n",
-  page_index->page_code & SMPH_PC_MASK,
-  page_index->page_len);
-#endif
-
page_len += page_index->page_len;
}
 
@@ -6527,10 +6505,6 @@ ctl_mode_sense(struct ctl_scsiio *ctsio)
}
 
total_len = header_len + page_len;
-#if 0
-   printf("header_len = %d, page_len = %d, total_len = %d\n",
-  header_len, page_len, total_len);
-#endif
 
ctsio->kern_data_ptr = malloc(total_len, M_CTL, M_WAITOK | M_ZERO);
ctsio->kern_sg_entries = 0;
@@ -8218,10 +8192,6 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio)
case SPRO_REGISTER:
case SPRO_REG_IGNO: {
 
-#if 0
-   printf("Registration received\n");
-#endif
-
/*
 * We don't support any of these options, as we report in
 * the read capabilities request (see
@@ -8334,9 +8304,6 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio)
break;
}
case SPRO_RESERVE:
-#if 0
-printf("Reserve executed type %d\n", type);
-#endif
mtx_lock(>lun_lock);
if (lun->flags & CTL_LUN_PR_RESERVED) {
/*
@@ -11898,15 +11865,8 @@ ctl_abort_task(union ctl_io *io)
struct ctl_softc *softc = CTL_SOFTC(io);
union ctl_io *xio;
struct ctl_lun *lun;
-#if 0
-   struct sbuf sb;
-   char printbuf[128];
-#endif
-   int found;
uint32_t targ_lun;
 
-   found = 0;
-
/*
 * Look up the LUN.
 */
@@ -11919,11 +11879,6 @@ ctl_abort_task(union ctl_io *io)
return (1);
}
 
-#if 0
-   printf("ctl_abort_task: called for lun %lld, tag %d type %d\n",
-  lun->lun, io->taskio.tag_num, io->taskio.tag_type);
-#endif
-
mtx_lock(>lun_lock);
mtx_unlock(>ctl_lock);
/*
@@ -11935,25 +11890,7 @@ ctl_abort_task(union ctl_io *io)
 */
for (xio = (union ctl_io *)TAILQ_FIRST(>ooa_queue); xio != NULL;
 xio = (union ctl_io *)TAILQ_NEXT(>io_hdr, ooa_links)) {
-#if 0
-   sbuf_new(, printbuf, sizeof(printbuf), SBUF_FIXEDLEN);
 
-   sbuf_printf(, "LUN %lld tag %d type %d%s%s%s%s: ",
-   lun->lun, xio->scsiio.tag_num,
-   xio->scsiio.tag_type,
-   (xio->io_hdr.blocked_links.tqe_prev
-   == NULL) ? "" : " BLOCKED",
-   (xio->io_hdr.flags &
-   CTL_FLAG_DMA_INPROG) ? " DMA" 

Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Baptiste Daroussin
On Tue, Feb 26, 2019 at 07:48:27AM -0800, Cy Schubert wrote:
> On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin  
> wrote:
> >Author: bapt
> >Date: Tue Feb 26 08:18:34 2019
> >New Revision: 344569
> >URL: https://svnweb.freebsd.org/changeset/base/344569
> >
> >Log:
> >  Implement parallel mounting for ZFS filesystem
> >  
> >  It was first implemented on Illumos and then ported to ZoL.
> >  This patch is a port to FreeBSD of the ZoL version.
> >  This patch also includes a fix for a race condition that was amended
> >  
> >With such patch Delphix has seen a huge decrease in latency of the
> >mount phase
> >  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for details).
> >With that current change Gandi has measured improvments that are on par
> >with
> >  those reported by Delphix.
> >  
> >  Zol commits incorporated:
> >https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
> >https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
> >  
> >  Reviewed by:   avg, sef
> >  Approved by:   avg, sef
> >  Obtained from: ZoL
> >  MFC after: 1 month
> >  Relnotes:  yes
> >  Sponsored by:  Gandi.net
> >  Differential Revision: https://reviews.freebsd.org/D19098
> >
> >Modified:
> >  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
> >  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
> >
> >Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
> >==
> >--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Feb 26
> >06:22:10 2019(r344568)
> >+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Feb 26
> >08:18:34 2019(r344569)
> >@@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
> > 
> > #define CHECK_SPINNER 30
> > #define SPINNER_TIME 3  /* seconds */
> >-#define MOUNT_TIME 5/* seconds */
> >+#define MOUNT_TIME 1/* seconds */
> > 
> >+typedef struct get_all_state {
> >+boolean_t   ga_verbose;
> >+get_all_cb_t*ga_cbp;
> >+} get_all_state_t;
> >+
> > static int
> > get_one_dataset(zfs_handle_t *zhp, void *data)
> > {
> >@@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
> > static int spinval = 0;
> > static int spincheck = 0;
> > static time_t last_spin_time = (time_t)0;
> >-get_all_cb_t *cbp = data;
> >+get_all_state_t *state = data;
> > zfs_type_t type = zfs_get_type(zhp);
> > 
> >-if (cbp->cb_verbose) {
> >+if (state->ga_verbose) {
> > if (--spincheck < 0) {
> > time_t now = time(NULL);
> > if (last_spin_time + SPINNER_TIME < now) {
> >@@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
> > zfs_close(zhp);
> > return (0);
> > }
> >-libzfs_add_handle(cbp, zhp);
> >-assert(cbp->cb_used <= cbp->cb_alloc);
> >+libzfs_add_handle(state->ga_cbp, zhp);
> >+assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
> > 
> > return (0);
> > }
> > 
> > static void
> >-get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t
> >verbose)
> >+get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
> > {
> >-get_all_cb_t cb = { 0 };
> >-cb.cb_verbose = verbose;
> >-cb.cb_getone = get_one_dataset;
> >+get_all_state_t state = {
> >+.ga_verbose = verbose,
> >+.ga_cbp = cbp
> >+};
> > 
> > if (verbose)
> > set_progress_header(gettext("Reading ZFS config"));
> >-(void) zfs_iter_root(g_zfs, get_one_dataset, );
> >+(void) zfs_iter_root(g_zfs, get_one_dataset, );
> > 
> >-*dslist = cb.cb_handles;
> >-*count = cb.cb_used;
> >-
> > if (verbose)
> > finish_progress(gettext("done."));
> > }
> >@@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t
> >*count
> >* similar, we have a common function with an extra parameter to
> >determine which
> >  * mode we are using.
> >  */
> >-#define OP_SHARE0x1
> >-#define OP_MOUNT0x2
> >+typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
> > 
> >+typedef struct share_mount_state {
> >+share_mount_op_tsm_op;
> >+boolean_t   sm_verbose;
> >+int sm_flags;
> >+char*sm_options;
> >+char*sm_proto; /* only valid for OP_SHARE */
> >+pthread_mutex_t sm_lock; /* protects the remaining fields */
> >+uint_t  sm_total; /* number of filesystems to process */
> >+uint_t  sm_done; /* number of filesystems processed */
> >+int sm_status; /* -1 if any of the share/mount operations failed */
> >+} share_mount_state_t;
> >+
> > /*
> >  * Share or mount a dataset.
> >  */
> >@@ 

Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Cy Schubert
On February 26, 2019 12:18:35 AM PST, Baptiste Daroussin  
wrote:
>Author: bapt
>Date: Tue Feb 26 08:18:34 2019
>New Revision: 344569
>URL: https://svnweb.freebsd.org/changeset/base/344569
>
>Log:
>  Implement parallel mounting for ZFS filesystem
>  
>  It was first implemented on Illumos and then ported to ZoL.
>  This patch is a port to FreeBSD of the ZoL version.
>  This patch also includes a fix for a race condition that was amended
>  
>With such patch Delphix has seen a huge decrease in latency of the
>mount phase
>  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for details).
>With that current change Gandi has measured improvments that are on par
>with
>  those reported by Delphix.
>  
>  Zol commits incorporated:
>https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
>https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
>  
>  Reviewed by: avg, sef
>  Approved by: avg, sef
>  Obtained from:   ZoL
>  MFC after:   1 month
>  Relnotes:yes
>  Sponsored by:Gandi.net
>  Differential Revision:   https://reviews.freebsd.org/D19098
>
>Modified:
>  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
>  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
>
>Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>==
>--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c   Tue Feb 26
>06:22:10 2019  (r344568)
>+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c   Tue Feb 26
>08:18:34 2019  (r344569)
>@@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
> 
> #define   CHECK_SPINNER 30
> #define   SPINNER_TIME 3  /* seconds */
>-#define   MOUNT_TIME 5/* seconds */
>+#define   MOUNT_TIME 1/* seconds */
> 
>+typedef struct get_all_state {
>+  boolean_t   ga_verbose;
>+  get_all_cb_t*ga_cbp;
>+} get_all_state_t;
>+
> static int
> get_one_dataset(zfs_handle_t *zhp, void *data)
> {
>@@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
>   static int spinval = 0;
>   static int spincheck = 0;
>   static time_t last_spin_time = (time_t)0;
>-  get_all_cb_t *cbp = data;
>+  get_all_state_t *state = data;
>   zfs_type_t type = zfs_get_type(zhp);
> 
>-  if (cbp->cb_verbose) {
>+  if (state->ga_verbose) {
>   if (--spincheck < 0) {
>   time_t now = time(NULL);
>   if (last_spin_time + SPINNER_TIME < now) {
>@@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
>   zfs_close(zhp);
>   return (0);
>   }
>-  libzfs_add_handle(cbp, zhp);
>-  assert(cbp->cb_used <= cbp->cb_alloc);
>+  libzfs_add_handle(state->ga_cbp, zhp);
>+  assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
> 
>   return (0);
> }
> 
> static void
>-get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t
>verbose)
>+get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
> {
>-  get_all_cb_t cb = { 0 };
>-  cb.cb_verbose = verbose;
>-  cb.cb_getone = get_one_dataset;
>+  get_all_state_t state = {
>+  .ga_verbose = verbose,
>+  .ga_cbp = cbp
>+  };
> 
>   if (verbose)
>   set_progress_header(gettext("Reading ZFS config"));
>-  (void) zfs_iter_root(g_zfs, get_one_dataset, );
>+  (void) zfs_iter_root(g_zfs, get_one_dataset, );
> 
>-  *dslist = cb.cb_handles;
>-  *count = cb.cb_used;
>-
>   if (verbose)
>   finish_progress(gettext("done."));
> }
>@@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t
>*count
>* similar, we have a common function with an extra parameter to
>determine which
>  * mode we are using.
>  */
>-#define   OP_SHARE0x1
>-#define   OP_MOUNT0x2
>+typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
> 
>+typedef struct share_mount_state {
>+  share_mount_op_tsm_op;
>+  boolean_t   sm_verbose;
>+  int sm_flags;
>+  char*sm_options;
>+  char*sm_proto; /* only valid for OP_SHARE */
>+  pthread_mutex_t sm_lock; /* protects the remaining fields */
>+  uint_t  sm_total; /* number of filesystems to process */
>+  uint_t  sm_done; /* number of filesystems processed */
>+  int sm_status; /* -1 if any of the share/mount operations failed */
>+} share_mount_state_t;
>+
> /*
>  * Share or mount a dataset.
>  */
>@@ -6122,6 +6136,29 @@ report_mount_progress(int current, int total)
>   update_progress(info);
> }
> 
>+/*
>+ * zfs_foreach_mountpoint() callback that mounts or shares on
>filesystem and
>+ * updates the progress meter
>+ */
>+static 

Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Shawn Webb
On Mon, Feb 25, 2019 at 06:18:42PM -0800, Rodney W. Grimes wrote:
> > > The modest increase in activation energy for that task seems worth it
> > > for the short-term gains of reduced integration cost (this code will
> > > greatly improve our ZFS-on-Linux test coverage.)
> > >
> > > Rod rightly points out that we haven't accepted SPDX tags alone as
> > > license statements.  The standard GPL v2.0 boiler plate should be added
> > > to this file along side the tag.
> > 
> > I've copied the full copyright attribution that is in the
> > corresponding files on Linux. Is there some reason why FreeBSD
> > requires the files to be inflated with the full license text where the
> > original lacks it?
> 
> I think for a few reasons, I doubt you copied the whole distribution
> that this file came from, as I am sure that distribution included
> a LICENSE file.  Second if you actually read the GPL v2 documentation
> and follow what it says it says you must do this, just because some
> one else does not follow the rules of what the GPL v2 says does not
> give us to knowingling not do it.  Third this is a particular dangerious
> area for BSD to be mixing a GPL code with its kernel, to my knowlege
> we have never had any gpl code in the kernel, no have we ever
> allowed it, but thats a seperate argument, that should be made.

Would the arm64 DTS/DTB files count as "GPL code in the kernel?"

I, too, would like less GPL in project, both in userland in kernel.
But, I can understand the desire for gcov. Note that I'm not
advocating either way that FreeBSD perform an action. ;)

Thanks,

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

Tor-ified Signal:+1 443-546-8752
Tor+XMPP+OTR:latt...@is.a.hacker.sx
GPG Key ID:  0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE


signature.asc
Description: PGP signature


svn commit: r344585 - head/sys/arm64/rockchip

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 15:29:16 2019
New Revision: 344585
URL: https://svnweb.freebsd.org/changeset/base/344585

Log:
  arm64: rockchip: rk_pinctrl: Fix two banks in RK3328
  
  The last two banks don't have 3 bits for the pin function but only 2.
  This fixes eMMC on the Rock64.
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/rk_pinctrl.c

Modified: head/sys/arm64/rockchip/rk_pinctrl.c
==
--- head/sys/arm64/rockchip/rk_pinctrl.cTue Feb 26 15:06:44 2019
(r344584)
+++ head/sys/arm64/rockchip/rk_pinctrl.cTue Feb 26 15:29:16 2019
(r344585)
@@ -191,13 +191,13 @@ static struct rk_pinctrl_bank rk3328_iomux_bank[] = {
.bank_num = 3,
.subbank_num = 2,
.offset = 0x48,
-   .nbits = 3,
+   .nbits = 2,
},
{
.bank_num = 3,
.subbank_num = 3,
.offset = 0x4c,
-   .nbits = 3,
+   .nbits = 2,
},
 };
 
___
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: r344567 - in head: etc/mtree include sbin sbin/veriexec

2019-02-26 Thread Alexey Dokuchaev
On Mon, Feb 25, 2019 at 10:19:45PM -0800, Rodney W. Grimes wrote:
> > Author: sjg
> > Date: Tue Feb 26 06:17:23 2019
> > New Revision: 344567
> > URL: https://svnweb.freebsd.org/changeset/base/344567
> > 
> > Log:
> >   Add verifying manifest loader for mac_veriexec
> >   
> >   This tool will verify a signed manifest and load contents into
> >   mac_veriexec for storage
> >   
> >   Sponsored by: Juniper Networks
> >   Differential Revision:D16575
> 
> Just a small nit, for future reference, from the template:
> > Differential Revision:https://reviews.freebsd.org/D###
> (*full* phabric URL needed).

IMHO we should just fix the scripts to accept D alone, without
the URL.  We don't do that for PR (bugzilla) references, and the fact
that we do for the phab is both needless and confusing.  Also, that
URL might change one day while we could probably keep the old numbers
if we move.

./danfe
___
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: r344579 - head/sys/arm64/rockchip

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 13:17:09 2019
New Revision: 344579
URL: https://svnweb.freebsd.org/changeset/base/344579

Log:
  arm64: rockchip: rk805: Add LDO regulators
  
  Add the 3 LDO regulator found in the RK805 Power Management IC.
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/rk805.c

Modified: head/sys/arm64/rockchip/rk805.c
==
--- head/sys/arm64/rockchip/rk805.c Tue Feb 26 13:16:05 2019
(r344578)
+++ head/sys/arm64/rockchip/rk805.c Tue Feb 26 13:17:09 2019
(r344579)
@@ -138,6 +138,42 @@ static struct rk805_regdef rk805_regdefs[] = {
.voltage_step = 10,
.voltage_nstep = 28,
},
+   {
+   .id = RK805_LDO1,
+   .name = "LDO_REG1",
+   .enable_reg = RK805_LDO_EN,
+   .enable_mask = 0x11,
+   .voltage_reg = RK805_LDO1_ON_VSEL,
+   .voltage_mask = 0x1F,
+   .voltage_min = 80,
+   .voltage_max = 340,
+   .voltage_step = 10,
+   .voltage_nstep = 27,
+   },
+   {
+   .id = RK805_LDO2,
+   .name = "LDO_REG2",
+   .enable_reg = RK805_LDO_EN,
+   .enable_mask = 0x22,
+   .voltage_reg = RK805_LDO2_ON_VSEL,
+   .voltage_mask = 0x1F,
+   .voltage_min = 80,
+   .voltage_max = 340,
+   .voltage_step = 10,
+   .voltage_nstep = 27,
+   },
+   {
+   .id = RK805_LDO3,
+   .name = "LDO_REG3",
+   .enable_reg = RK805_LDO_EN,
+   .enable_mask = 0x44,
+   .voltage_reg = RK805_LDO3_ON_VSEL,
+   .voltage_mask = 0x1F,
+   .voltage_min = 80,
+   .voltage_max = 340,
+   .voltage_step = 10,
+   .voltage_nstep = 27,
+   },
 };
 
 static struct rk805_regdef rk808_regdefs[] = {
___
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: r344580 - head/sys/arm64/rockchip

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 13:18:14 2019
New Revision: 344580
URL: https://svnweb.freebsd.org/changeset/base/344580

Log:
   arm64: rockchip: rk805: Map the regulator
  
  No map function was provided before so every regulator lookup resolved
  the regulator with id 1, as it uses the default mapper, which is wrong.
  Correctly map the regulators.
  While here remove some debug printfs and make them disable by default.
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/rk805.c
  head/sys/arm64/rockchip/rk805reg.h

Modified: head/sys/arm64/rockchip/rk805.c
==
--- head/sys/arm64/rockchip/rk805.c Tue Feb 26 13:17:09 2019
(r344579)
+++ head/sys/arm64/rockchip/rk805.c Tue Feb 26 13:18:14 2019
(r344580)
@@ -51,6 +51,9 @@ __FBSDID("$FreeBSD$");
 
 MALLOC_DEFINE(M_RK805_REG, "RK805 regulator", "RK805 power regulator");
 
+/* #define dprintf(sc, format, arg...) device_printf(sc->base_dev, 
"%s: " format, __func__, arg) */
+#definedprintf(sc, format, arg...)
+
 enum rk_pmic_type {
RK805 = 1,
RK808,
@@ -258,6 +261,9 @@ rk805_regnode_enable(struct regnode *regnode, bool ena
 
sc = regnode_get_softc(regnode);
 
+   dprintf(sc, "%sabling regulator %s\n",
+   enable ? "En" : "Dis",
+   sc->def->name);
rk805_read(sc->base_dev, sc->def->enable_reg, , 1);
if (enable)
val |= sc->def->enable_mask;
@@ -308,25 +314,32 @@ rk805_regnode_set_voltage(struct regnode *regnode, int
 {
struct rk805_reg_sc *sc;
uint8_t val;
+   int uvolt;
 
sc = regnode_get_softc(regnode);
 
if (!sc->def->voltage_step)
return (ENXIO);
 
+   dprintf(sc, "Setting %s to %d<->%d uvolts\n",
+   sc->def->name,
+   min_uvolt,
+   max_uvolt);
rk805_read(sc->base_dev, sc->def->voltage_reg, , 1);
-   printf("rk805_set_voltage: Current value for %x: %x\n", 
sc->def->voltage_reg, val);
if (rk805_regnode_voltage_to_reg(sc, min_uvolt, max_uvolt, ) != 0)
return (ERANGE);
 
-   printf("rk805_set_voltage: Setting %x to %x\n", sc->def->voltage_reg, 
val);
rk805_write(sc->base_dev, sc->def->voltage_reg, val);
 
rk805_read(sc->base_dev, sc->def->voltage_reg, , 1);
-   printf("rk805_set_voltage: Set value for %x: %x\n", 
sc->def->voltage_reg, val);
 
*udelay = 0;
 
+   rk805_regnode_reg_to_voltage(sc, val, );
+   dprintf(sc, "Regulator %s set to %d uvolt\n",
+ sc->def->name,
+ uvolt);
+
return (0);
 }
 
@@ -344,6 +357,10 @@ rk805_regnode_get_voltage(struct regnode *regnode, int
rk805_read(sc->base_dev, sc->def->voltage_reg, , 1);
rk805_regnode_reg_to_voltage(sc, val & sc->def->voltage_mask, uvolt);
 
+   dprintf(sc, "Regulator %s is at %d uvolt\n",
+ sc->def->name,
+ *uvolt);
+
return (0);
 }
 
@@ -377,6 +394,7 @@ rk805_reg_attach(device_t dev, phandle_t node,
initdef.std_param.max_uvolt = def->voltage_max;
initdef.id = def->id;
initdef.ofw_node = node;
+
regnode = regnode_create(dev, _regnode_class, );
if (regnode == NULL) {
device_printf(dev, "cannot create regulator\n");
@@ -504,11 +522,32 @@ rk805_detach(device_t dev)
return (EBUSY);
 }
 
+static int
+rk805_map(device_t dev, phandle_t xref, int ncells,
+pcell_t *cells, intptr_t *id)
+{
+   struct rk805_softc *sc;
+   int i;
+
+   sc = device_get_softc(dev);
+
+   for (i = 0; i < sc->nregs; i++) {
+   if (sc->regs[i]->xref == xref) {
+   *id = sc->regs[i]->def->id;
+   return (0);
+   }
+   }
+
+   return (ERANGE);
+}
+
 static device_method_t rk805_methods[] = {
DEVMETHOD(device_probe, rk805_probe),
DEVMETHOD(device_attach,rk805_attach),
DEVMETHOD(device_detach,rk805_detach),
 
+   /* regdev interface */
+   DEVMETHOD(regdev_map,   rk805_map),
DEVMETHOD_END
 };
 

Modified: head/sys/arm64/rockchip/rk805reg.h
==
--- head/sys/arm64/rockchip/rk805reg.h  Tue Feb 26 13:17:09 2019
(r344579)
+++ head/sys/arm64/rockchip/rk805reg.h  Tue Feb 26 13:18:14 2019
(r344580)
@@ -61,7 +61,7 @@
 #defineRK805_LDO3_SLEEP_VSEL   0x40
 
 enum rk805_regulator {
-   RK805_DCDC1,
+   RK805_DCDC1 = 0,
RK805_DCDC2,
RK805_DCDC3,
RK805_DCDC4,
@@ -71,7 +71,7 @@ enum rk805_regulator {
 };
 
 enum rk808_regulator {
-   RK808_DCDC1,
+   RK808_DCDC1 = 0,
RK808_DCDC2,
RK808_DCDC3,
RK808_DCDC4,
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To 

svn commit: r344578 - head/sys/arm64/rockchip/clk

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 13:16:05 2019
New Revision: 344578
URL: https://svnweb.freebsd.org/changeset/base/344578

Log:
  arm64: rockchip: rk3328_pll: Multiple improvement
  
  RockChip clocks register have a write mask in the upper 16 bits, if a 1
  is present the corresponding bit in the lower 16 ones is set.
  Use this instead of always setting the mask to 0x.
  This avoids a read of the register.
  While here, when switching PLL frequency, first switch it to slow mode.
  When set to slow mode the PLL clock will be the external oscillator.
  Changing the PLL parameters while its output is used can cause hang 
(sometimes).
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/clk/rk_clk_pll.c
  head/sys/arm64/rockchip/clk/rk_clk_pll.h

Modified: head/sys/arm64/rockchip/clk/rk_clk_pll.c
==
--- head/sys/arm64/rockchip/clk/rk_clk_pll.cTue Feb 26 13:15:31 2019
(r344577)
+++ head/sys/arm64/rockchip/clk/rk_clk_pll.cTue Feb 26 13:16:05 2019
(r344578)
@@ -65,24 +65,30 @@ struct rk_clk_pll_sc {
 #defineDEVICE_UNLOCK(_clk) \
CLKDEV_DEVICE_UNLOCK(clknode_get_device(_clk))
 
+#defineRK_CLK_PLL_MASK_SHIFT   16
+
+/* #define dprintf(format, arg...) printf("%s:(%s)" format, __func__, 
clknode_get_name(clk), arg) */
+#definedprintf(format, arg...)
+
 static int
 rk_clk_pll_set_gate(struct clknode *clk, bool enable)
 {
struct rk_clk_pll_sc *sc;
-   uint32_t val;
+   uint32_t val = 0;
 
sc = clknode_get_softc(clk);
 
if ((sc->flags & RK_CLK_PLL_HAVE_GATE) == 0)
return (0);
 
-   DEVICE_LOCK(clk);
-   READ4(clk, sc->gate_offset, );
-   if (enable)
-   val &= ~(1 << sc->gate_shift);
-   else
+   dprintf("%sabling gate\n", enable ? "En" : "Dis");
+   if (!enable)
val |= 1 << sc->gate_shift;
-   WRITE4(clk, sc->gate_offset, val | RK_CLK_PLL_MASK);
+   dprintf("sc->gate_shift: %x\n", sc->gate_shift);
+   val |= (1 << sc->gate_shift) << RK_CLK_PLL_MASK_SHIFT;
+   dprintf("Write: gate_offset=%x, val=%x\n", sc->gate_offset, val);
+   DEVICE_LOCK(clk);
+   WRITE4(clk, sc->gate_offset, val);
DEVICE_UNLOCK(clk);
 
return (0);
@@ -114,8 +120,6 @@ rk_clk_pll_set_gate(struct clknode *clk, bool enable)
 
 #defineRK3328_CLK_PLL_LOCK_MASK0x400
 
-#defineRK3328_CLK_PLL_WRITE_MASK   0x
-
 static int
 rk3328_clk_pll_init(struct clknode *clk, device_t dev)
 {
@@ -202,31 +206,39 @@ rk3328_clk_pll_set_freq(struct clknode *clk, uint64_t 
 
DEVICE_LOCK(clk);
 
+   /* Setting to slow mode during frequency change */
+   reg = sc->mode_val << 16;
+   dprintf("Set PLL_MODEREG to %x\n", reg);
+   WRITE4(clk, sc->mode_reg, reg);
+
/* Setting postdiv1 and fbdiv */
-   READ4(clk, sc->base_offset, );
-   reg &= ~(RK3328_CLK_PLL_POSTDIV1_MASK | RK3328_CLK_PLL_FBDIV_MASK);
-   reg |= rates->postdiv1 << RK3328_CLK_PLL_POSTDIV1_SHIFT;
-   reg |= rates->fbdiv << RK3328_CLK_PLL_FBDIV_SHIFT;
-   WRITE4(clk, sc->base_offset, reg | RK3328_CLK_PLL_WRITE_MASK);
+   reg = (rates->postdiv1 << RK3328_CLK_PLL_POSTDIV1_SHIFT) |
+   (rates->fbdiv << RK3328_CLK_PLL_FBDIV_SHIFT);
+   reg |= (RK3328_CLK_PLL_POSTDIV1_MASK | RK3328_CLK_PLL_FBDIV_MASK) << 16;
+   dprintf("Set PLL_CON0 to %x\n", reg);
+   WRITE4(clk, sc->base_offset, reg);
 
/* Setting dsmpd, postdiv2 and refdiv */
READ4(clk, sc->base_offset + 0x4, );
reg &= ~(RK3328_CLK_PLL_DSMPD_MASK | RK3328_CLK_PLL_POSTDIV2_MASK |
RK3328_CLK_PLL_REFDIV_MASK);
-   reg |= rates->dsmpd << RK3328_CLK_PLL_DSMPD_SHIFT;
-   reg |= rates->postdiv2 << RK3328_CLK_PLL_POSTDIV2_SHIFT;
-   reg |= rates->refdiv << RK3328_CLK_PLL_REFDIV_SHIFT;
-   WRITE4(clk, sc->base_offset + 0x4, reg | RK3328_CLK_PLL_WRITE_MASK);
+   reg = (rates->dsmpd << RK3328_CLK_PLL_DSMPD_SHIFT) |
+   (rates->postdiv2 << RK3328_CLK_PLL_POSTDIV2_SHIFT) |
+   (rates->refdiv << RK3328_CLK_PLL_REFDIV_SHIFT);
+   reg |= (RK3328_CLK_PLL_DSMPD_MASK | RK3328_CLK_PLL_POSTDIV2_MASK | 
RK3328_CLK_PLL_REFDIV_MASK) << 16;
+   dprintf("Set PLL_CON1 to %x\n", reg);
+   WRITE4(clk, sc->base_offset + 0x4, reg);
 
/* Setting frac */
READ4(clk, sc->base_offset + 0x8, );
reg &= ~RK3328_CLK_PLL_FRAC_MASK;
reg |= rates->frac << RK3328_CLK_PLL_FRAC_SHIFT;
+   dprintf("Set PLL_CON2 to %x\n", reg);
WRITE4(clk, sc->base_offset + 0x8, reg);
 
/* Setting to normal mode */
-   READ4(clk, sc->mode_reg, );
-   reg |= sc->mode_val << 16 | sc->mode_val;
+   reg = sc->mode_val << 16 | sc->mode_val;
+   dprintf("Set PLL_MODEREG to %x\n", reg);
WRITE4(clk, sc->mode_reg, reg);
 
/* 

svn commit: r344576 - head/sys/arm64/rockchip/clk

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 13:14:49 2019
New Revision: 344576
URL: https://svnweb.freebsd.org/changeset/base/344576

Log:
  arm64: rockchip: clk: rk_clk_composite: Properly use the mask bits
  
  RockChip clocks register have a write mask in the upper 16 bits, if a 1
  is present the corresponding bit in the lower 16 ones is set.
  Use this instead of always setting the mask to 0x.
  This avoids a read of the register.
  While here add some debug printf useful for debuging clock problems
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/clk/rk_clk_composite.c
  head/sys/arm64/rockchip/clk/rk_clk_composite.h

Modified: head/sys/arm64/rockchip/clk/rk_clk_composite.c
==
--- head/sys/arm64/rockchip/clk/rk_clk_composite.c  Tue Feb 26 12:26:25 
2019(r344575)
+++ head/sys/arm64/rockchip/clk/rk_clk_composite.c  Tue Feb 26 13:14:49 
2019(r344576)
@@ -66,8 +66,11 @@ struct rk_clk_composite_sc {
 #defineDEVICE_UNLOCK(_clk) 
\
CLKDEV_DEVICE_UNLOCK(clknode_get_device(_clk))
 
-#defineRK_COMPOSITE_WRITE_MASK 0x
+#defineRK_CLK_COMPOSITE_MASK_SHIFT 16
 
+/* #define dprintf(format, arg...) printf("%s:(%s)" format, __func__, 
clknode_get_name(clk), arg) */
+#definedprintf(format, arg...)
+
 static int
 rk_clk_composite_init(struct clknode *clk, device_t dev)
 {
@@ -94,20 +97,21 @@ static int
 rk_clk_composite_set_gate(struct clknode *clk, bool enable)
 {
struct rk_clk_composite_sc *sc;
-   uint32_t val;
+   uint32_t val = 0;
 
sc = clknode_get_softc(clk);
 
if ((sc->flags & RK_CLK_COMPOSITE_HAVE_GATE) == 0)
return (0);
 
-   DEVICE_LOCK(clk);
-   READ4(clk, sc->gate_offset, );
-   if (enable)
-   val &= ~(1 << sc->gate_shift);
-   else
+   dprintf("%sabling gate\n", enable ? "En" : "Dis");
+   if (!enable)
val |= 1 << sc->gate_shift;
-   WRITE4(clk, sc->gate_offset, val | RK_CLK_COMPOSITE_MASK);
+   dprintf("sc->gate_shift: %x\n", sc->gate_shift);
+   val |= (1 << sc->gate_shift) << RK_CLK_COMPOSITE_MASK_SHIFT;
+   dprintf("Write: gate_offset=%x, val=%x\n", sc->gate_offset, val);
+   DEVICE_LOCK(clk);
+   WRITE4(clk, sc->gate_offset, val);
DEVICE_UNLOCK(clk);
 
return (0);
@@ -117,18 +121,19 @@ static int
 rk_clk_composite_set_mux(struct clknode *clk, int index)
 {
struct rk_clk_composite_sc *sc;
-   uint32_t val;
+   uint32_t val = 0;
 
sc = clknode_get_softc(clk);
 
if ((sc->flags & RK_CLK_COMPOSITE_HAVE_MUX) == 0)
return (0);
 
+   dprintf("Set mux to %d\n", index);
DEVICE_LOCK(clk);
-   READ4(clk, sc->muxdiv_offset, );
-   val &= ~sc->mux_mask;
-   val |= index << sc->mux_shift;
-   WRITE4(clk, sc->muxdiv_offset, val | RK_CLK_COMPOSITE_MASK);
+   val |= (index << sc->mux_shift);
+   val |= sc->mux_mask << RK_CLK_COMPOSITE_MASK_SHIFT;
+   dprintf("Write: muxdiv_offset=%x, val=%x\n", sc->muxdiv_offset, val);
+   WRITE4(clk, sc->muxdiv_offset, val);
DEVICE_UNLOCK(clk);
 
return (0);
@@ -145,11 +150,12 @@ rk_clk_composite_recalc(struct clknode *clk, uint64_t 
DEVICE_LOCK(clk);
 
READ4(clk, sc->muxdiv_offset, );
+   dprintf("Read: muxdiv_offset=%x, val=%x\n", sc->muxdiv_offset, reg);
 
DEVICE_UNLOCK(clk);
 
div = ((reg & sc->div_mask) >> sc->div_shift) + 1;
-
+   dprintf("parent_freq=%lu, div=%u\n", *freq, div);
*freq = *freq / div;
 
return (0);
@@ -183,22 +189,25 @@ rk_clk_composite_set_freq(struct clknode *clk, uint64_
struct clknode *p_clk;
const char **p_names;
uint64_t best, cur;
-   uint32_t div, best_div, val;
+   uint32_t div, best_div, val = 0;
int p_idx, best_parent;
 
sc = clknode_get_softc(clk);
 
+   dprintf("Finding best parent/div for target freq of %lu\n", *fout);
p_names = clknode_get_parent_names(clk);
for (best_div = 0, best = 0, p_idx = 0;
 p_idx != clknode_get_parents_num(clk); p_idx++) {
p_clk = clknode_find_by_name(p_names[p_idx]);
clknode_get_freq(p_clk, );
+   dprintf("Testing with parent %s (%d) at freq %lu\n", 
clknode_get_name(p_clk), p_idx, fparent);
div = rk_clk_composite_find_best(sc, fparent, *fout);
cur = fparent / div;
if ((*fout - cur) < (*fout - best)) {
best = cur;
best_div = div;
best_parent = p_idx;
+   dprintf("Best parent so far %s (%d) with best freq at 
%lu\n", clknode_get_name(p_clk), p_idx, best);
}
}
 
@@ -223,14 +232,17 @@ rk_clk_composite_set_freq(struct clknode *clk, uint64_

svn commit: r344577 - head/sys/arm64/rockchip/clk

2019-02-26 Thread Emmanuel Vadot
Author: manu
Date: Tue Feb 26 13:15:31 2019
New Revision: 344577
URL: https://svnweb.freebsd.org/changeset/base/344577

Log:
  arm64: rockchip: clk: ARM CLK improvement
  
  RockChip clocks register have a write mask in the upper 16 bits, if a 1
  is present the corresponding bit in the lower 16 ones is set.
  Use this instead of always setting the mask to 0x.
  This avoids a read of the register.
  While here set the parent after changing its freqeuncy, this reduce the time
  between changing the parent and changing the divider for the arm clock.
  
  MFC after:1 week

Modified:
  head/sys/arm64/rockchip/clk/rk_clk_armclk.c
  head/sys/arm64/rockchip/clk/rk_clk_armclk.h

Modified: head/sys/arm64/rockchip/clk/rk_clk_armclk.c
==
--- head/sys/arm64/rockchip/clk/rk_clk_armclk.c Tue Feb 26 13:14:49 2019
(r344576)
+++ head/sys/arm64/rockchip/clk/rk_clk_armclk.c Tue Feb 26 13:15:31 2019
(r344577)
@@ -72,8 +72,11 @@ struct rk_clk_armclk_sc {
 #defineDEVICE_UNLOCK(_clk) 
\
CLKDEV_DEVICE_UNLOCK(clknode_get_device(_clk))
 
-#defineRK_ARMCLK_WRITE_MASK0x
+#defineRK_ARMCLK_WRITE_MASK_SHIFT  16
 
+/* #define dprintf(format, arg...) printf("%s:(%s)" format, __func__, 
clknode_get_name(clk), arg) */
+#definedprintf(format, arg...)
+
 static int
 rk_clk_armclk_init(struct clknode *clk, device_t dev)
 {
@@ -98,14 +101,15 @@ static int
 rk_clk_armclk_set_mux(struct clknode *clk, int index)
 {
struct rk_clk_armclk_sc *sc;
-   uint32_t val;
+   uint32_t val = 0;
 
sc = clknode_get_softc(clk);
 
+   dprintf("Set mux to %d\n", index);
DEVICE_LOCK(clk);
-   READ4(clk, sc->muxdiv_offset, );
-   val &= ~(sc->mux_mask >> sc->mux_shift);
-   val |= index << sc->mux_shift | RK_ARMCLK_WRITE_MASK;
+   val |= index << sc->mux_shift;
+   val |= sc->mux_mask << RK_ARMCLK_WRITE_MASK_SHIFT;
+   dprintf("Write: muxdiv_offset=%x, val=%x\n", sc->muxdiv_offset, val);
WRITE4(clk, sc->muxdiv_offset, val);
DEVICE_UNLOCK(clk);
 
@@ -123,10 +127,12 @@ rk_clk_armclk_recalc(struct clknode *clk, uint64_t *fr
DEVICE_LOCK(clk);
 
READ4(clk, sc->muxdiv_offset, );
+   dprintf("Read: muxdiv_offset=%x, val=%x\n", sc->muxdiv_offset, reg);
 
DEVICE_UNLOCK(clk);
 
div = ((reg & sc->div_mask) >> sc->div_shift) + 1;
+   dprintf("parent_freq=%lu, div=%u\n", *freq, div);
 
*freq = *freq / div;
 
@@ -141,14 +147,14 @@ rk_clk_armclk_set_freq(struct clknode *clk, uint64_t f
struct clknode *p_main;
const char **p_names;
uint64_t best = 0, best_p = 0;
-   uint32_t div = 0, val;
+   uint32_t div = 0, val = 0;
int err, i, rate = 0;
 
sc = clknode_get_softc(clk);
 
+   dprintf("Finding best parent/div for target freq of %lu\n", *fout);
p_names = clknode_get_parent_names(clk);
p_main = clknode_find_by_name(p_names[sc->main_parent]);
-   clknode_set_parent_by_idx(clk, sc->main_parent);
 
for (i = 0; i < sc->nrates; i++) {
if (sc->rates[i].freq == *fout) {
@@ -156,6 +162,10 @@ rk_clk_armclk_set_freq(struct clknode *clk, uint64_t f
div = sc->rates[i].div;
best_p = best * div;
rate = i;
+   dprintf("Best parent %s (%d) with best freq at %lu\n",
+   clknode_get_name(p_main),
+   sc->main_parent,
+   best);
break;
}
}
@@ -169,17 +179,22 @@ rk_clk_armclk_set_freq(struct clknode *clk, uint64_t f
return (0);
}
 
+   dprintf("Changing parent (%s) freq to %lu\n", clknode_get_name(p_main), 
best_p);
err = clknode_set_freq(p_main, best_p, 0, 1);
if (err != 0)
printf("Cannot set %s to %lu\n",
clknode_get_name(p_main),
best_p);
 
+   clknode_set_parent_by_idx(clk, sc->main_parent);
+
+   clknode_get_freq(p_main, _p);
+   dprintf("main parent freq at %lu\n", best_p);
DEVICE_LOCK(clk);
-   READ4(clk, sc->muxdiv_offset, );
-   val &= ~sc->div_mask;
val |= (div - 1) << sc->div_shift;
-   WRITE4(clk, sc->muxdiv_offset, val | RK_CLK_ARMCLK_MASK);
+   val |= sc->div_mask << RK_ARMCLK_WRITE_MASK_SHIFT;
+   dprintf("Write: muxdiv_offset=%x, val=%x\n", sc->muxdiv_offset, val);
+   WRITE4(clk, sc->muxdiv_offset, val);
DEVICE_UNLOCK(clk);
 
*fout = best;

Modified: head/sys/arm64/rockchip/clk/rk_clk_armclk.h
==
--- head/sys/arm64/rockchip/clk/rk_clk_armclk.h Tue Feb 26 13:14:49 2019
(r344576)
+++ 

Re: svn commit: r344487 - in head/sys: conf gnu/gcov

2019-02-26 Thread Rodney W. Grimes
...
> 
> We intend to update our license policy to require core sign off for
> new GPL code to ensure we're not adding new, tightly integrated
> dependencies, to document that we're doing so knowingly, and
> to make sure steps aren't missed.  The current document is at:
> https://www.freebsd.org/internal/software-license.html

I take it that this is new text meant to replace the current
text that is in the committers guide at:
https://www.freebsd.org/doc/en/articles/committers-guide/pref-license.html

As to the text in this new version about the All rights reserved phrase
the wording "With the ratification of the Berne Convention in 2000,
it became obsolete" is more correctly stated as "With the ratification
of the Berne Convention in 2000, it became unnecessary".  The wording
"All rights reserved." are not obsolete and still do carry meaning in law.

> -- Brooks

-- 
Rod Grimes rgri...@freebsd.org
___
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: r344570 - head/usr.sbin/sysrc

2019-02-26 Thread Rodney W. Grimes
[ Charset UTF-8 unsupported, converting... ]
> Author: 0mp (ports committer)
> Date: Tue Feb 26 09:28:10 2019
> New Revision: 344570
> URL: https://svnweb.freebsd.org/changeset/base/344570
> 
> Log:
>   sysrc.8: Pet igor and mandoc

This only tells the source of why you changed some,
a good commit log entry tells me that, and what it
is that you changed.  You normally do not need to
name the file your changed in a commit log as the
log is attached to the file, sometimes it does make
since to mention a file name in a log entry when you
are describing the changes to just that file in a
commit that includes many files.

A better log might of been:
  Pet igor and mandoc.  Remove unneeded .Li, use .Fx as needed,
  escape hard stop, and sort cross references.

I thank you for the cleanup.

>   Reviewed by:bcr
>   Approved by:bcr (doc)
>   Approved by:krion (mentor, implicit), mat (mentor, implicit)
>   Differential Revision:  https://reviews.freebsd.org/D19348
> 
> Modified:
>   head/usr.sbin/sysrc/sysrc.8
> 
> Modified: head/usr.sbin/sysrc/sysrc.8
> ==
> --- head/usr.sbin/sysrc/sysrc.8   Tue Feb 26 08:18:34 2019
> (r344569)
> +++ head/usr.sbin/sysrc/sysrc.8   Tue Feb 26 09:28:10 2019
> (r344570)
> @@ -24,7 +24,7 @@
>  .\"
>  .\" $FreeBSD$
>  .\"
> -.Dd February 2, 2016
> +.Dd February 26, 2019
>  .Dt SYSRC 8
>  .Os
>  .Sh NAME
> @@ -144,7 +144,7 @@ Disable verbose and hide certain errors.
>  When combined with
>  .Sq Fl L
>  and one or more
> -.Li Ar name
> +.Ar name
>  arguments, provide only exit status and no output.
>  .It Fl R Ar dir
>  Operate within the root directory
> @@ -216,7 +216,8 @@ The list of system configuration files is configured i
>  within the variable
>  .Ql rc_conf_files ,
>  which by-default contains a space-separated list of pathnames.
> -On all FreeBSD
> +On all
> +.Fx
>  systems, this defaults to the value "/etc/rc.conf /etc/rc.conf.local".
>  Each
>  pathname is sourced in-order upon startup.
> @@ -276,7 +277,7 @@ it is added
>  For convenience, if the first character is alpha-numeric
>  .Pq letters A-Z, a-z, or numbers 0-9 ,
>  dot
> -.Pq Li . ,
> +.Pq Li \&. ,
>  or slash
>  .Pq Li / ,
>  .Nm
> @@ -334,7 +335,7 @@ it is removed
>  For convenience, if the first character is alpha-numeric
>  .Pq letters A-Z, a-z, or numbers 0-9 ,
>  dot
> -.Pq Li . ,
> +.Pq Li \&. ,
>  or slash
>  .Pq Li / ,
>  .Nm
> @@ -466,11 +467,11 @@ cloned_interfaces+"alternate"
>  .Dl returns "alternate" if $cloned_interfaces is set .
>  .Sh SEE ALSO
>  .Xr rc.conf 5 ,
> -.Xr rc.subr 8 ,
>  .Xr jail 8 ,
>  .Xr jexec 8 ,
>  .Xr jls 8 ,
>  .Xr rc 8 ,
> +.Xr rc.subr 8 ,
>  .Xr sysctl 8
>  .Sh HISTORY
>  A
> 
> 

-- 
Rod Grimes rgri...@freebsd.org
___
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: r344571 - head/sys/dev/syscons

2019-02-26 Thread Bruce Evans

On Tue, 26 Feb 2019, Bruce Evans wrote:


...
Log:
 Attempt to fix build breakage in r344458.
...
 ...  Test
 coverage for of syscons in arm is broken (turned off) in NOTES, but
 syscons is in some other arm config files which universe detects as broken.


Oops.  I forgot to say that this was reported by rpokala.

Bruce
___
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: r344572 - in head/sys/i386: i386 include

2019-02-26 Thread Konstantin Belousov
Author: kib
Date: Tue Feb 26 09:45:44 2019
New Revision: 344572
URL: https://svnweb.freebsd.org/changeset/base/344572

Log:
  i386 PAE: avoid atomic for pte_store() where possible.
  
  Instead carefully write upper word, and only than the lower word with
  PG_V, for previously invalid ptes.  It provides some measurable system
  time saving on buildworld.
  
  Reviewed by:  markj
  Tested by:pho
  Measured by:  bde (early version)
  Sponsored by: The FreeBSD Foundation
  Differential revision:https://reviews.freebsd.org/D19226

Modified:
  head/sys/i386/i386/pmap.c
  head/sys/i386/include/pmap_nopae.h
  head/sys/i386/include/pmap_pae.h

Modified: head/sys/i386/i386/pmap.c
==
--- head/sys/i386/i386/pmap.c   Tue Feb 26 09:44:10 2019(r344571)
+++ head/sys/i386/i386/pmap.c   Tue Feb 26 09:45:44 2019(r344572)
@@ -3801,7 +3801,7 @@ validate:
if ((origpte & PG_A) != 0)
pmap_invalidate_page_int(pmap, va);
} else
-   pte_store(pte, newpte);
+   pte_store_zero(pte, newpte);
 
 unchanged:
 
@@ -4104,7 +4104,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
 #endif
if (pmap != kernel_pmap)
newpte |= PG_U;
-   pte_store(pte, newpte);
+   pte_store_zero(pte, newpte);
sched_unpin();
return (mpte);
 }

Modified: head/sys/i386/include/pmap_nopae.h
==
--- head/sys/i386/include/pmap_nopae.h  Tue Feb 26 09:44:10 2019
(r344571)
+++ head/sys/i386/include/pmap_nopae.h  Tue Feb 26 09:45:44 2019
(r344572)
@@ -86,6 +86,7 @@ typedef   uint32_t pdpt_entry_t;  /* Only to keep struct 
 #definepte_store(ptep, pte) do { \
*(u_int *)(ptep) = (u_int)(pte); \
 } while (0)
+#definepte_store_zero(ptep, pte)   pte_store(ptep, pte)
 #definepte_load(ptep)  atomic_load_int(ptep)
 
 extern pt_entry_t PTmap[];

Modified: head/sys/i386/include/pmap_pae.h
==
--- head/sys/i386/include/pmap_pae.hTue Feb 26 09:44:10 2019
(r344571)
+++ head/sys/i386/include/pmap_pae.hTue Feb 26 09:45:44 2019
(r344572)
@@ -101,6 +101,16 @@ typedef uint64_t pt_entry_t;
 #definepte_load_store(ptep, pte)   atomic_swap_64_i586(ptep, pte)
 #definepte_load_clear(ptep)atomic_swap_64_i586(ptep, 0)
 #definepte_store(ptep, pte)atomic_store_rel_64_i586(ptep, 
pte)
+#definepte_store_zero(ptep, pte)   \
+do {   \
+   uint32_t *p;\
+   \
+   MPASS((*ptep & PG_V) == 0); \
+   p = (void *)ptep;   \
+   *(p + 1) = (uint32_t)(pte >> 32);   \
+   __compiler_membar();\
+   *p = (uint32_t)pte; \
+} while (0)
 #definepte_load(ptep)  atomic_load_acq_64_i586(ptep)
 
 extern pdpt_entry_t *IdlePDPT;
___
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: r344571 - head/sys/dev/syscons

2019-02-26 Thread Bruce Evans
Author: bde
Date: Tue Feb 26 09:44:10 2019
New Revision: 344571
URL: https://svnweb.freebsd.org/changeset/base/344571

Log:
  Attempt to fix build breakage in r344458.
  
  Non-x86 arches use an inconsistently named header for the file containing
  "pc" attributes, and the ifdef messes to include the right header were out
  of date in the 2 files that I added to the MI files list.
  
  Only amd64, arm, i386, mips, powerpc and sparc64 are supposed to support
  syscons.  Only arm and mips were out of date in the ifdef.  Test
  coverage for of syscons in arm is broken (turned off) in NOTES, but
  syscons is in some other arm config files which universe detects as broken.
  arm64 and riscv remain broken due to the opposite bug of not turning off
  sc in NOTES, the same as before r344458 (see r33).
  
  The header is MD to contain possibly-non-"pc" encodings of attributes, but
  since the attributes are essentially virtual in graphics mode and non-x86
  arches only support graphics mode, the header has always been the same on
  all arches except for different style bugs, so there should be only 1 MI
  copy of it for syscons' use.  It was used in pcvt and still gives an an
  API and an ABI, so it should be public and MI near or in sys/consio.h.

Modified:
  head/sys/dev/syscons/scterm-dumb.c
  head/sys/dev/syscons/scterm-sc.c

Modified: head/sys/dev/syscons/scterm-dumb.c
==
--- head/sys/dev/syscons/scterm-dumb.c  Tue Feb 26 09:28:10 2019
(r344570)
+++ head/sys/dev/syscons/scterm-dumb.c  Tue Feb 26 09:44:10 2019
(r344571)
@@ -35,7 +35,8 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
-#if defined(__sparc64__) || defined(__powerpc__)
+#if defined(__arm__) || defined(__mips__) || \
+   defined(__powerpc__) || defined(__sparc64__)
 #include 
 #else
 #include 

Modified: head/sys/dev/syscons/scterm-sc.c
==
--- head/sys/dev/syscons/scterm-sc.cTue Feb 26 09:28:10 2019
(r344570)
+++ head/sys/dev/syscons/scterm-sc.cTue Feb 26 09:44:10 2019
(r344571)
@@ -36,7 +36,8 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
-#if defined(__sparc64__) || defined(__powerpc__)
+#if defined(__arm__) || defined(__mips__) || \
+   defined(__powerpc__) || defined(__sparc64__)
 #include 
 #else
 #include 
___
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: r344570 - head/usr.sbin/sysrc

2019-02-26 Thread Mateusz Piotrowski
Author: 0mp (ports committer)
Date: Tue Feb 26 09:28:10 2019
New Revision: 344570
URL: https://svnweb.freebsd.org/changeset/base/344570

Log:
  sysrc.8: Pet igor and mandoc
  
  Reviewed by:  bcr
  Approved by:  bcr (doc)
  Approved by:  krion (mentor, implicit), mat (mentor, implicit)
  Differential Revision:https://reviews.freebsd.org/D19348

Modified:
  head/usr.sbin/sysrc/sysrc.8

Modified: head/usr.sbin/sysrc/sysrc.8
==
--- head/usr.sbin/sysrc/sysrc.8 Tue Feb 26 08:18:34 2019(r344569)
+++ head/usr.sbin/sysrc/sysrc.8 Tue Feb 26 09:28:10 2019(r344570)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 2, 2016
+.Dd February 26, 2019
 .Dt SYSRC 8
 .Os
 .Sh NAME
@@ -144,7 +144,7 @@ Disable verbose and hide certain errors.
 When combined with
 .Sq Fl L
 and one or more
-.Li Ar name
+.Ar name
 arguments, provide only exit status and no output.
 .It Fl R Ar dir
 Operate within the root directory
@@ -216,7 +216,8 @@ The list of system configuration files is configured i
 within the variable
 .Ql rc_conf_files ,
 which by-default contains a space-separated list of pathnames.
-On all FreeBSD
+On all
+.Fx
 systems, this defaults to the value "/etc/rc.conf /etc/rc.conf.local".
 Each
 pathname is sourced in-order upon startup.
@@ -276,7 +277,7 @@ it is added
 For convenience, if the first character is alpha-numeric
 .Pq letters A-Z, a-z, or numbers 0-9 ,
 dot
-.Pq Li . ,
+.Pq Li \&. ,
 or slash
 .Pq Li / ,
 .Nm
@@ -334,7 +335,7 @@ it is removed
 For convenience, if the first character is alpha-numeric
 .Pq letters A-Z, a-z, or numbers 0-9 ,
 dot
-.Pq Li . ,
+.Pq Li \&. ,
 or slash
 .Pq Li / ,
 .Nm
@@ -466,11 +467,11 @@ cloned_interfaces+"alternate"
 .Dl returns "alternate" if $cloned_interfaces is set .
 .Sh SEE ALSO
 .Xr rc.conf 5 ,
-.Xr rc.subr 8 ,
 .Xr jail 8 ,
 .Xr jexec 8 ,
 .Xr jls 8 ,
 .Xr rc 8 ,
+.Xr rc.subr 8 ,
 .Xr sysctl 8
 .Sh HISTORY
 A
___
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: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Baptiste Daroussin
On Tue, Feb 26, 2019 at 08:18:35AM +, Baptiste Daroussin wrote:
> Author: bapt
> Date: Tue Feb 26 08:18:34 2019
> New Revision: 344569
> URL: https://svnweb.freebsd.org/changeset/base/344569
> 
> Log:
>   Implement parallel mounting for ZFS filesystem
>   
>   It was first implemented on Illumos and then ported to ZoL.
>   This patch is a port to FreeBSD of the ZoL version.
>   This patch also includes a fix for a race condition that was amended
>   
>   With such patch Delphix has seen a huge decrease in latency of the mount 
> phase
>   (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for details).
>   With that current change Gandi has measured improvments that are on par with
>   those reported by Delphix.
>   
>   Zol commits incorporated:
>   
> https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
>   
> https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
>   
>   Reviewed by:avg, sef
>   Approved by:avg, sef
>   Obtained from:  ZoL
>   MFC after:  1 month
>   Relnotes:   yes
>   Sponsored by:   Gandi.net
>   Differential Revision:  https://reviews.freebsd.org/D19098
> 

Forgot to mention the principal :(

Submitted by:   j...@gandi.net


signature.asc
Description: PGP signature


svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common

2019-02-26 Thread Baptiste Daroussin
Author: bapt
Date: Tue Feb 26 08:18:34 2019
New Revision: 344569
URL: https://svnweb.freebsd.org/changeset/base/344569

Log:
  Implement parallel mounting for ZFS filesystem
  
  It was first implemented on Illumos and then ported to ZoL.
  This patch is a port to FreeBSD of the ZoL version.
  This patch also includes a fix for a race condition that was amended
  
  With such patch Delphix has seen a huge decrease in latency of the mount phase
  (https://github.com/openzfs/openzfs/commit/a3f0e2b569 for details).
  With that current change Gandi has measured improvments that are on par with
  those reported by Delphix.
  
  Zol commits incorporated:
  
https://github.com/zfsonlinux/zfs/commit/a10d50f999511d304f910852c7825c70c9c9e303
  
https://github.com/zfsonlinux/zfs/commit/e63ac16d25fbe991a356489c86d4077567dfea21
  
  Reviewed by:  avg, sef
  Approved by:  avg, sef
  Obtained from:ZoL
  MFC after:1 month
  Relnotes: yes
  Sponsored by: Gandi.net
  Differential Revision:https://reviews.freebsd.org/D19098

Modified:
  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c

Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==
--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cTue Feb 26 06:22:10 
2019(r344568)
+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cTue Feb 26 08:18:34 
2019(r344569)
@@ -5812,8 +5812,13 @@ zfs_do_holds(int argc, char **argv)
 
 #defineCHECK_SPINNER 30
 #defineSPINNER_TIME 3  /* seconds */
-#defineMOUNT_TIME 5/* seconds */
+#defineMOUNT_TIME 1/* seconds */
 
+typedef struct get_all_state {
+   boolean_t   ga_verbose;
+   get_all_cb_t*ga_cbp;
+} get_all_state_t;
+
 static int
 get_one_dataset(zfs_handle_t *zhp, void *data)
 {
@@ -5821,10 +5826,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
static int spinval = 0;
static int spincheck = 0;
static time_t last_spin_time = (time_t)0;
-   get_all_cb_t *cbp = data;
+   get_all_state_t *state = data;
zfs_type_t type = zfs_get_type(zhp);
 
-   if (cbp->cb_verbose) {
+   if (state->ga_verbose) {
if (--spincheck < 0) {
time_t now = time(NULL);
if (last_spin_time + SPINNER_TIME < now) {
@@ -5850,26 +5855,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data)
zfs_close(zhp);
return (0);
}
-   libzfs_add_handle(cbp, zhp);
-   assert(cbp->cb_used <= cbp->cb_alloc);
+   libzfs_add_handle(state->ga_cbp, zhp);
+   assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc);
 
return (0);
 }
 
 static void
-get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t verbose)
+get_all_datasets(get_all_cb_t *cbp, boolean_t verbose)
 {
-   get_all_cb_t cb = { 0 };
-   cb.cb_verbose = verbose;
-   cb.cb_getone = get_one_dataset;
+   get_all_state_t state = {
+   .ga_verbose = verbose,
+   .ga_cbp = cbp
+   };
 
if (verbose)
set_progress_header(gettext("Reading ZFS config"));
-   (void) zfs_iter_root(g_zfs, get_one_dataset, );
+   (void) zfs_iter_root(g_zfs, get_one_dataset, );
 
-   *dslist = cb.cb_handles;
-   *count = cb.cb_used;
-
if (verbose)
finish_progress(gettext("done."));
 }
@@ -5879,9 +5882,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t *count
  * similar, we have a common function with an extra parameter to determine 
which
  * mode we are using.
  */
-#defineOP_SHARE0x1
-#defineOP_MOUNT0x2
+typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t;
 
+typedef struct share_mount_state {
+   share_mount_op_tsm_op;
+   boolean_t   sm_verbose;
+   int sm_flags;
+   char*sm_options;
+   char*sm_proto; /* only valid for OP_SHARE */
+   pthread_mutex_t sm_lock; /* protects the remaining fields */
+   uint_t  sm_total; /* number of filesystems to process */
+   uint_t  sm_done; /* number of filesystems processed */
+   int sm_status; /* -1 if any of the share/mount operations failed */
+} share_mount_state_t;
+
 /*
  * Share or mount a dataset.
  */
@@ -6122,6 +6136,29 @@ report_mount_progress(int current, int total)
update_progress(info);
 }
 
+/*
+ * zfs_foreach_mountpoint() callback that mounts or shares on filesystem and
+ * updates the progress meter
+ */
+static int
+share_mount_one_cb(zfs_handle_t *zhp, void *arg)
+{
+   share_mount_state_t *sms = arg;
+   int ret;
+
+   ret =