[libvirt] [RFC] duplicate suspend/resume lifecycle events with QEMU

2017-06-12 Thread Philipp Hahn
Hello, I'm using the libvirt event mechanism and noticed, that several events are reported twice: > $ python examples/event-test.py qemu:///session > Using uri:qemu:///session > myDomainEventCallback1 EVENT: Domain installer(2) Resumed Unpaused > myDomainEventCallback2 EVENT: Domain installer(2)

Re: [libvirt] [PATCH 09/26] conf: Move index number checking to drivers

2017-06-12 Thread Laine Stump
On 06/12/2017 10:08 PM, Laine Stump wrote: > On 06/02/2017 12:07 PM, Andrea Bolognani wrote: >> pSeries guests will soon be allowed to have multiple >> PHBs (pci-root controllers), which of course means that >> all but one of them will have a non-zero index; hence, >> we'll need to relax the

Re: [libvirt] [PATCH 09/26] conf: Move index number checking to drivers

2017-06-12 Thread Laine Stump
On 06/02/2017 12:07 PM, Andrea Bolognani wrote: > pSeries guests will soon be allowed to have multiple > PHBs (pci-root controllers), which of course means that > all but one of them will have a non-zero index; hence, > we'll need to relax the current check. > > However, right now the check is

Re: [libvirt] [PATCH 08/26] qemu: Tweak index number checking

2017-06-12 Thread Laine Stump
On 06/02/2017 12:07 PM, Andrea Bolognani wrote: > Moving the check and rewriting it this way doesn't alter > the current behavior, but will allow us to special-case > pci-root down the line. But this function should never be called for a controller with model='pci-root'? > --- >

Re: [libvirt] [PATCH 3/3] Use ATTRIBUTE_FALLTHROUGH

2017-06-12 Thread John Ferlan
On 06/07/2017 04:46 AM, Marc Hartmayer wrote: > Use ATTRIBUTE_FALLTHROUGH, introduced by commit > 5d84f5961b8e28e802f600bb2d2c6903e219092e, instead of comments to > indicate that the fall through is an intentional behavior. > > Signed-off-by: Marc Hartmayer >

Re: [libvirt] [PATCH 2/3] qemu: add a comment for mon->watch

2017-06-12 Thread John Ferlan
On 06/07/2017 04:46 AM, Marc Hartmayer wrote: > Add a comment for mon->watch to make clear what's the purpose of this > value. > > Signed-off-by: Marc Hartmayer > Reviewed-by: Bjoern Walk > --- > src/qemu/qemu_monitor.c | 6 ++ > 1

Re: [libvirt] [PATCH 1/3] rpc: first allocate the memory and then set the count

2017-06-12 Thread John Ferlan
On 06/07/2017 04:46 AM, Marc Hartmayer wrote: > Signed-off-by: Marc Hartmayer > Reviewed-by: Boris Fiuczynski > Reviewed-by: Bjoern Walk > --- > src/rpc/virnetclientprogram.c | 4 ++-- > 1 file changed, 2

Re: [libvirt] [PATCH v3 6/6] virStream*All: Report error if a callback fails

2017-06-12 Thread John Ferlan
On 06/05/2017 04:23 AM, Michal Privoznik wrote: > All of these four functions (virStreamRecvAll, virStreamSendAll, > virStreamSparseRecvAll, virStreamSparseSendAll) take one or more > callback that handle various aspects of streams. However, if any s/callback/callback functions/ > of them

Re: [libvirt] [PATCH v3 5/6] virFileInData: preserve errno in cleanup path

2017-06-12 Thread John Ferlan
On 06/05/2017 04:23 AM, Michal Privoznik wrote: > Callers might be interested in the original value of errno. Let's > not overwrite it with lseek() done in cleanup path. > > Signed-off-by: Michal Privoznik > --- > src/util/virfile.c | 5 - > 1 file changed, 4

Re: [libvirt] [PATCH v3 4/6] virStream*All: Preserve reported error

2017-06-12 Thread John Ferlan
On 06/05/2017 04:22 AM, Michal Privoznik wrote: > If one these four functions fail (virStreamRecvAll, > virStreamSendAll, virStreamSparseRecvAll, virStreamSparseSendAll) > the stream is aborted by calling virStreamAbort(). This is, > however, an public API - therefore the first thing it does is

Re: [libvirt] [PATCH v3 3/6] virStream*All: Call virStreamAbort() more frequently

2017-06-12 Thread John Ferlan
On 06/05/2017 04:22 AM, Michal Privoznik wrote: > Our documentation to all four virStreamRecvAll, virStreamSendAll, s/all four/the/ > virStreamSparseRecvAll, virStreamSparseSendAll says that if these s/RecvAll, virStream/RecvAll, and virStream/ s/says that if these functions fail,/functions

Re: [libvirt] [PATCH v3 2/6] fdstream: Report error from the I/O thread

2017-06-12 Thread John Ferlan
On 06/05/2017 04:22 AM, Michal Privoznik wrote: > Problem with our error reporting is that the error object is a > thread local variable. That means if there's an error reported > within the I/O thread it gets logged and everything, but later > when the event loop aborts the stream it doesn't

Re: [libvirt] [PATCH v3 1/6] virfdstream: Check for thread error more frequently

2017-06-12 Thread John Ferlan
On 06/05/2017 04:22 AM, Michal Privoznik wrote: > When the I/O thread quits (e.g. due to an I/O error, lseek() > error, whatever), any subsequent virFDStream API should return > error too. Moreover, when invoking stream event callback, we must > set the VIR_STREAM_EVENT_ERROR flag so that the

[libvirt] [PATCH] qemu/doc: Fix function name for handling events

2017-06-12 Thread Philipp Hahn
Insert missing "IO" into function name. --- src/qemu/EVENTHANDLERS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/EVENTHANDLERS.txt b/src/qemu/EVENTHANDLERS.txt index 79c1505caa..c7798d600b 100644 --- a/src/qemu/EVENTHANDLERS.txt +++ b/src/qemu/EVENTHANDLERS.txt

[libvirt] [PATCH v5 1/5] hyperv: Functions to work with invocation parameters.

2017-06-12 Thread Sri Ramanujam
This commit introduces functionality for creating and working with invoke parameters. This commit does not include any code for serializing and actually performing the method invocations; it merely defines the functions and API for using invocation parameters in driver code.

[libvirt] [PATCH v5 3/5] hyperv: add hypervInvokeMethod

2017-06-12 Thread Sri Ramanujam
This commit adds support for invoking methods on remote objects via hypervInvokeMethod. --- src/hyperv/hyperv_wmi.c | 591 src/hyperv/hyperv_wmi.h | 8 +- src/hyperv/openwsman.h | 4 + 3 files changed, 601 insertions(+), 2 deletions(-) diff

[libvirt] [PATCH v5 4/5] hyperv: support virDomainSendKey

2017-06-12 Thread Sri Ramanujam
This commit adds support for virDomainSendKey. It also serves as an example of how to use the new method invocation APIs with a single "simple" type parameter. --- src/hyperv/hyperv_driver.c| 123 ++ src/hyperv/hyperv_wmi.c | 7 ++

[libvirt] [PATCH v5 5/5] hyperv: Add support for virDomainSetMemory

2017-06-12 Thread Sri Ramanujam
Introduces support for virDomainSetMemory. This also serves an an example for how to use the new method invocation API with a more complicated method, this time including an EPR and embedded param. --- src/hyperv/hyperv_driver.c| 105 ++

[libvirt] [PATCH v5 0/5] Hyper-V method invocation

2017-06-12 Thread Sri Ramanujam
Changes from v4: * Changes from review * Added hypervFreeEmbeddedParam Sri Ramanujam (5): hyperv: Functions to work with invocation parameters. hyperv: Generate object property type information. hyperv: add hypervInvokeMethod hyperv: support virDomainSendKey hyperv: Add support for

[libvirt] [PATCH v5 2/5] hyperv: Generate object property type information.

2017-06-12 Thread Sri Ramanujam
Update the generator to generate basic property type information for each CIM object representation. Right now, it generates arrays of hypervCimType structs: struct _hypervCimType { const char *name; const char *type; bool isArray; }; --- src/hyperv/hyperv_wmi_classes.h| 19

[libvirt] [RFC PATCH v1 2/4] libxl: vnuma support

2017-06-12 Thread Wim Ten Have
From: Wim ten Have This patch generates a NUMA distance-aware libxl description from the information extracted from a NUMA distance-aware libvirt XML file. By default, if no NUMA node distance information is supplied in the libvirt XML file, this patch uses the

[libvirt] [RFC PATCH v1 0/4] numa: describe sibling nodes distances

2017-06-12 Thread Wim Ten Have
From: Wim ten Have This patch extents guest domain administration adding support to advertise node sibling distances when configuring HVM numa guests. NUMA (non-uniform memory access), a method of configuring a cluster of nodes within a single multiprocessing system

[libvirt] [RFC PATCH v1 3/4] xenconfig: add domxml conversions for xen-xl

2017-06-12 Thread Wim Ten Have
From: Wim ten Have This patch converts NUMA configurations between the Xen libxl configuration file format and libvirt's XML format. XML HVM domain configuration:

[libvirt] [RFC PATCH v1 1/4] numa: describe siblings distances within cells

2017-06-12 Thread Wim Ten Have
From: Wim ten Have Add libvirtd NUMA cell domain administration functionality to describe underlying cell id sibling distances in full fashion when configuring HVM guests. [below is an example of a 4 node setup]

[libvirt] [RFC PATCH v1 4/4] xlconfigtest: add tests for numa cell sibling distances

2017-06-12 Thread Wim Ten Have
From: Wim ten Have Test a bidirectional xen-xl domxml to and from native for numa support administration as brought under this patch series. Signed-off-by: Wim ten Have --- .../test-fullvirt-vnuma-nodistances.cfg| 26 +++

[libvirt] [PATCH 3/3] qemuDomainGetPreservedMounts: Fix suffixes for corner cases

2017-06-12 Thread Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1431112 Imagine a FS mounted on /dev/blah/blah2. Our process of creating suffix for temporary location where all the mounted filesystems are moved is very simplistic. We want: /var/run/libvirt/qemu/$domName.$suffix\ were $suffix is just the mount

[libvirt] [PATCH 2/3] qemuDomainGetPreservedMounts: Prune nested mount points

2017-06-12 Thread Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1431112 There can be nested mount points. For instance /dev/shm/blah can be a mount point and /dev/shm too. It doesn't make much sense to return the former path because callers preserve the latter (and with that the former too). Therefore prune nested

[libvirt] [PATCH 0/3] Couple of qemu NS fixes

2017-06-12 Thread Michal Privoznik
Yet again, some corner cases, nothing critical. But it is certainly nice to fix them regardless. Michal Privoznik (3): qemuDomainBuildNamespace: Clean up temp files qemuDomainGetPreservedMounts: Prune nested mount points qemuDomainGetPreservedMounts: Fix suffixes for corner cases

[libvirt] [PATCH 1/3] qemuDomainBuildNamespace: Clean up temp files

2017-06-12 Thread Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1431112 After 290a00e41d we know how to deal with file mount points. However, when cleaning up the temporary location for preserved mount points we are still calling rmdir(). This won't fly for files. We need to call unlink(). Now, since we don't really

Re: [libvirt] [PATCH 07/26] qemu: Allow qemuBuildControllerDevStr() to return NULL

2017-06-12 Thread Laine Stump
On 06/02/2017 12:07 PM, Andrea Bolognani wrote: > We will soon need to be able to return a NULL pointer > without the caller considering that an error: to make > it possible, change the return type to int and use > an out parameter for the string instead. > > Add some documentation for the

Re: [libvirt] [PATCH 06/26] conf: Simplify slot allocation

2017-06-12 Thread Laine Stump
On 06/02/2017 12:07 PM, Andrea Bolognani wrote: > The current algorithm for slot allocation tries to be clever > and avoid looking at buses / slots more than once unless it's > necessary. Unfortunately that makes the code more complex, > and it will cause problem later on in some situations unless

Re: [libvirt] [PATCH 05/26] tests: Mock IOMMU groups

2017-06-12 Thread Laine Stump
On 06/02/2017 12:07 PM, Andrea Bolognani wrote: > Later on we're going to need access to information about IOMMU > groups for host devices. Implement the support in virpcimock, > and start using that mock library in a few QEMU test cases. > --- > tests/qemumemlocktest.c | 21

Re: [libvirt] [PATCH 02/26] conf: Make virDomainPCIAddressSetGrow() private

2017-06-12 Thread Laine Stump
On 06/12/2017 05:20 AM, Andrea Bolognani wrote: > On Mon, 2017-06-12 at 08:35 +0200, Ján Tomko wrote: >>> Reviewed-by: Laine Stump >>> >>> (This *is* the new hot way to say ACK, right?) >> >> It is not a replacement (AFAIK only rebels like John and Pavel use it) >> and it is

Re: [libvirt] [PATCH 1/3] bhyve: tests: add vnc test to bhyvexml2xmltest

2017-06-12 Thread Roman Bogorodskiy
John Ferlan wrote: > > > On 05/09/2017 07:52 AM, Roman Bogorodskiy wrote: > > Signed-off-by: Roman Bogorodskiy > > --- > > tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc.xml | 41 > > +++ > > tests/bhyvexml2xmltest.c | 3

Re: [libvirt] [PATCH] qemu: hotplug: Release address properly when redirected device attach failure

2017-06-12 Thread John Ferlan
On 05/30/2017 07:22 AM, Shivaprasad G Bhat wrote: > The virDomainUSBAddressEnsure returns 0 or -1 and checking for 1 is wrong. > Fix it. > > Signed-off-by: Shivaprasad G Bhat > --- > src/qemu/qemu_hotplug.c |6 ++ > 1 file changed, 2 insertions(+), 4

Re: [libvirt] [PATCH] bhyve: add support for video device configuration

2017-06-12 Thread Roman Bogorodskiy
John Ferlan wrote: > > > On 05/09/2017 07:54 AM, Roman Bogorodskiy wrote: > > Connect domain XML configuration (introduced in a > > previous patch) to bhyve command generation. > > > > Unfortunately, this option was documented just recently and at the time > > of writing official online

Re: [libvirt] [PATCH 1/2] conf: add video driver configuration element

2017-06-12 Thread Roman Bogorodskiy
John Ferlan wrote: > > > On 05/09/2017 07:53 AM, Roman Bogorodskiy wrote: > > Add support for video driver configuration. In domain xml it looks like > > this: > > > > > > > > > > > > > > > > At present, the only supported configuration is 'vgaconf' that looks this >

Re: [libvirt] [PATCH] bhyve: add support for video device configuration

2017-06-12 Thread John Ferlan
On 05/09/2017 07:54 AM, Roman Bogorodskiy wrote: > Connect domain XML configuration (introduced in a > previous patch) to bhyve command generation. > > Unfortunately, this option was documented just recently and at the time > of writing official online manpages didn't have it updated, so for

Re: [libvirt] [PATCH 1/2] conf: add video driver configuration element

2017-06-12 Thread John Ferlan
On 05/09/2017 07:53 AM, Roman Bogorodskiy wrote: > Add support for video driver configuration. In domain xml it looks like > this: > > > > > > > > At present, the only supported configuration is 'vgaconf' that looks this way: > > > > It was added with bhyve gop video

Re: [libvirt] [PATCH 1/3] bhyve: tests: add vnc test to bhyvexml2xmltest

2017-06-12 Thread John Ferlan
On 05/09/2017 07:52 AM, Roman Bogorodskiy wrote: > Signed-off-by: Roman Bogorodskiy > --- > tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc.xml | 41 > +++ > tests/bhyvexml2xmltest.c | 3 +- > 2 files changed, 43

Re: [libvirt] [PATCH v2 0/4] fix labeling for chardev source path

2017-06-12 Thread Pavel Hrdina
On Mon, May 29, 2017 at 04:31:46PM +0200, Pavel Hrdina wrote: > Pavel Hrdina (4): > conf: move seclabel for chardev source to the correct sturcture > qemu: introduce chardevStdioLogd to qemu private data > qemu: propagate chardevStdioLogd to qemuBuildChrChardevStr > security: don't relabel

Re: [libvirt] [PATCH v3 0/6] Fix error reporting in streams

2017-06-12 Thread Michal Privoznik
On 06/05/2017 10:22 AM, Michal Privoznik wrote: > diff to v3: > > -In the last patch, instead of reporting errors from callbacks, report system > error based on errno set by the callbacks. > > Michal Privoznik (6): > virfdstream: Check for thread error more frequently > fdstream: Report

Re: [libvirt] [PATCH 1/2] util: rename qemuGetProcessInfo to virProcessGetStat

2017-06-12 Thread John Ferlan
On 05/23/2017 11:31 PM, Wang King wrote: > qemuGetProcessInfo is more likely a process utility function, just rename it > to virProcessGetStat and move it to virprocess.c source file. > --- > src/libvirt_private.syms | 1 + > src/qemu/qemu_driver.c | 83 >

Re: [libvirt] [PATCH] qemu: handle missing bind host/service on chardev hotplug

2017-06-12 Thread John Ferlan
On 05/19/2017 07:43 AM, Ján Tomko wrote: > On domain startup, bind host or bind service can be omitted > and we will format a working command line. > > Extend this to hotplug as well and specify the service to QEMU > even if the host is missing. > >

Re: [libvirt] [PATCH] qemu: Explain why mdevs are assumed to be PCI Express

2017-06-12 Thread Erik Skultety
On Mon, Jun 12, 2017 at 06:00:13PM +0800, Andrea Bolognani wrote: > Signed-off-by: Andrea Bolognani > --- > src/qemu/qemu_domain_address.c | 5 + > 1 file changed, 5 insertions(+) > > diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c > index

Re: [libvirt] [PATCH 1/2] qemu: skip only ', ' for VNC and Spice unix socket

2017-06-12 Thread John Ferlan
On 06/12/2017 05:51 AM, Pavel Hrdina wrote: > Commit 824272cb28d attempted to fix escaping of characters in unix > socket path but it was wrong. We need to escape only ',', there is > no escape character for '='. > You could have mentioned the bz again like the original commit did... >

Re: [libvirt] [PATCH 2/2] Revert "util: virqemu: introduce virQEMUBuildBufferEscape"

2017-06-12 Thread John Ferlan
On 06/12/2017 05:51 AM, Pavel Hrdina wrote: > This reverts commit 22b02f44920388534d3da65cc6f0a70714dcf075. > --- > src/libvirt_private.syms | 1 - > src/util/virqemu.c | 17 - > src/util/virqemu.h | 1 - > 3 files changed, 19 deletions(-) > me wonders if anyone

Re: [libvirt] [PATCH] cpu_ppc64: Add support for host-model on POWER9

2017-06-12 Thread Andrea Bolognani
On Thu, 2017-05-18 at 14:40 +0200, Jiri Denemark wrote: > Signed-off-by: Jiri Denemark > --- >  src/cpu/cpu_ppc64.c|  8 >  .../qemuxml2argv-pseries-cpu-compat-power9.args| 24 >++ >  

Re: [libvirt] [PATCH 0/2] fix VNC and Spice unix socket escaping

2017-06-12 Thread Andrea Bolognani
On Mon, 2017-06-12 at 11:51 +0200, Pavel Hrdina wrote: > Pavel Hrdina (2): > qemu: skip only ',' for VNC and Spice unix socket > Revert "util: virqemu: introduce virQEMUBuildBufferEscape" > > src/libvirt_private.syms | 1 - > src/qemu/qemu_command.c

[libvirt] [PATCH] qemu: Explain why mdevs are assumed to be PCI Express

2017-06-12 Thread Andrea Bolognani
Signed-off-by: Andrea Bolognani --- src/qemu/qemu_domain_address.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 2106b34..b5b863f 100644 --- a/src/qemu/qemu_domain_address.c +++

[libvirt] [PATCH 2/2] Revert "util: virqemu: introduce virQEMUBuildBufferEscape"

2017-06-12 Thread Pavel Hrdina
This reverts commit 22b02f44920388534d3da65cc6f0a70714dcf075. --- src/libvirt_private.syms | 1 - src/util/virqemu.c | 17 - src/util/virqemu.h | 1 - 3 files changed, 19 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index

[libvirt] [PATCH 1/2] qemu: skip only ', ' for VNC and Spice unix socket

2017-06-12 Thread Pavel Hrdina
Commit 824272cb28d attempted to fix escaping of characters in unix socket path but it was wrong. We need to escape only ',', there is no escape character for '='. Signed-off-by: Pavel Hrdina --- src/qemu/qemu_command.c | 4 ++--

[libvirt] [PATCH 0/2] fix VNC and Spice unix socket escaping

2017-06-12 Thread Pavel Hrdina
Pavel Hrdina (2): qemu: skip only ',' for VNC and Spice unix socket Revert "util: virqemu: introduce virQEMUBuildBufferEscape" src/libvirt_private.syms | 1 - src/qemu/qemu_command.c | 4 ++-- src/util/virqemu.c

[libvirt] [PATCH RFC 1/2] Resctrl: Add new xml element to support cache tune

2017-06-12 Thread Eli Qiao
This patch adds new xml element to support cache tune as: ... ... id: any non-minus number cache_id: reference of the host's cache banks id, it's from capabilities level: cache level type: cache bank type size: should be multiples of the min_size of the bank on host. vcpus: cache

[libvirt] [PATCH RFC 0/2] Implement l3 CAT

2017-06-12 Thread Eli Qiao
This is a RFC patch to implement l3 CAT. There's old RFC V3 [1] patch, but don't get any attentions, reason maybe that it's is not a workable one. I address some of the comments for RFC V2 version from Martin. 1. Add file lock while access /sys/fs/resctrl base on kernel documents [3]. 2.

[libvirt] [PATCH RFC 2/2] Resctrl: Add uitls functions to operate sysfs resctrl

2017-06-12 Thread Eli Qiao
This patch adds 3 major private interface. virResctrlGetFreeCache: return free cache, default cache substract cache allocated. virResctrlSetCachetunes: set cache banks which defined in a domain. virResctrlRemoveCachetunes: remove cache allocation group from the

Re: [libvirt] [PATCH] cpu_ppc64: Add support for host-model on POWER9

2017-06-12 Thread David Gibson
On Mon, Jun 12, 2017 at 05:06:27PM +0800, Andrea Bolognani wrote: > On Thu, 2017-06-08 at 18:40 +0200, Andrea Bolognani wrote: > > Yeah, I've been looking at downstream. I'll try again with > > upstream and file bugs as needed. > > Okay, I've tried again with upstream QEMU master (with your > CPU

Re: [libvirt] [PATCH] qemuDomainBlockCopyCommon: Fix the memory leak

2017-06-12 Thread Andrea Bolognani
On Fri, 2017-06-09 at 17:17 +0200, Andrea Bolognani wrote: > Looks reasonable. I'll push it on Monday unless someone raises > concerns in the meantime. Reworded the commit message and pushed. --  Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@redhat.com

Re: [libvirt] [PATCH 02/26] conf: Make virDomainPCIAddressSetGrow() private

2017-06-12 Thread Andrea Bolognani
On Mon, 2017-06-12 at 08:35 +0200, Ján Tomko wrote: > > Reviewed-by: Laine Stump > >  > > (This *is* the new hot way to say ACK, right?) >  > It is not a replacement (AFAIK only rebels like John and Pavel use it) > and it is not an equivalent (with Reviewed-by, I assume the

Re: [libvirt] [PATCH] cpu_ppc64: Add support for host-model on POWER9

2017-06-12 Thread Andrea Bolognani
On Thu, 2017-06-08 at 18:40 +0200, Andrea Bolognani wrote: > Yeah, I've been looking at downstream. I'll try again with > upstream and file bugs as needed. Okay, I've tried again with upstream QEMU master (with your CPU compatibility patches applied on top), here are the results for both POWER8

Re: [libvirt] [PATCH 02/26] conf: Make virDomainPCIAddressSetGrow() private

2017-06-12 Thread Ján Tomko
On Sun, Jun 11, 2017 at 10:10:39PM -0400, Laine Stump wrote: Reviewed-by: Laine Stump (This *is* the new hot way to say ACK, right?) It is not a replacement (AFAIK only rebels like John and Pavel use it) and it is not an equivalent (with Reviewed-by, I assume the reviewer