On 9/18/20 9:51 AM, Daniel P. Berrangé wrote:
On Fri, Sep 18, 2020 at 05:41:21PM +0200, Marek Marczykowski-Górecki wrote:
On Fri, Sep 18, 2020 at 05:12:52PM +0200, Michal Prívozník wrote:
On 9/18/20 1:31 PM, Daniel P. Berrangé wrote:
On Wed, Sep 16, 2020 at 11:09:31AM +0200, Michal Privoznik
virFileComparePaths just return 0 or 1 after commit 7b48bb8
so break while after virFileComparePaths return 1
Signed-off-by: Yi Li
---
src/storage/storage_backend_fs.c | 8 ++--
src/util/virfile.c | 1 -
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git
Collect PCI passthrough net device stats from kernel by netlink
API.
Currently, libvirt can not get PCI passthrough net device stats,
run command:
#virsh domifstat instance --interface=52:54:00:2d:b2:35
error: Failed to get interface stats instance 52:54:00:2d:b2:35
error: internal error:
Signed-off-by: Ján Tomko
---
tests/domaincapstest.c | 7 +++
tests/nodedevmdevctltest.c | 16 +---
tests/nwfilterxml2firewalltest.c | 3 +--
tests/qemublocktest.c| 9 +++--
tests/qemuhotplugtest.c | 3 +--
tests/qemumonitorjsontest.c
Signed-off-by: Ján Tomko
---
tests/cputest.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/cputest.c b/tests/cputest.c
index 83d63bf495..383da94938 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -111,11 +111,13 @@ cpuTestLoadMultiXML(virArch arch,
Signed-off-by: Ján Tomko
---
tests/commandtest.c | 7 +++
tests/domaincapstest.c | 3 +--
tests/fdstreamtest.c | 10 --
tests/qemuxml2argvtest.c | 3 +--
tests/securityselinuxlabeltest.c | 3 +--
tests/securityselinuxtest.c | 3 +--
Signed-off-by: Ján Tomko
---
tests/virnumamock.c | 16 +++-
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/tests/virnumamock.c b/tests/virnumamock.c
index e6282c7f33..40e18e646e 100644
--- a/tests/virnumamock.c
+++ b/tests/virnumamock.c
@@ -133,23 +133,13 @@
With the exception of viralloctest.
Ján Tomko (4):
tests: virNumaGetPages: use g_new0 instead of VIR_ALLOC_N
tests: cpuTestLoadMultiXML: use g_new0 instead of VIR_ALLOC_N
tests: use g_new0 instead of VIR_ALLOC_N
tests: use g_new0 instead of VIR_ALLOC
tests/commandtest.c |
Like other distros, openSUSE Tumbleweed recently changed libexecdir from
/usr/lib to /usr/libexec. Add it as an allowed path for libxl-save-helper
and pygrub.
Signed-off-by: Jim Fehlig
---
I considered including /usr/lib64, but I don't think any distros are
installing xen libexecdir targets to
22.09.2020 19:16, Daniel P. Berrangé wrote:
This thread from a little over a year ago:
http://lists.wpkg.org/pipermail/sheepdog/2019-March/thread.html
states that sheepdog is no longer actively developed. The only mentioned
users are some companies who are said to have it for legacy reasons
22.09.2020 19:16, Daniel P. Berrangé wrote:
The sheepdog mailing list is setup to stop and queue messages from
non-subscribers, pending moderator approval. Unfortunately it seems
that the moderation queue is not actively dealt with. Even when messages
are approved, the sender is never added to
Various places reported by cppcheck's invalidPrintfArgType_sint
and invalidPrintfArgType_uint.
Signed-off-by: Ján Tomko
---
examples/c/domain/domtop.c | 2 +-
examples/c/domain/suspend.c | 2 +-
tests/qemusecuritymock.c| 2 +-
tests/virhashtest.c | 4 ++--
tests/virpcimock.c
cppcheck reports:
style: Argument 'fd<0' to function virSetCloseExec is always 0 [knownArgument]
Signed-off-by: Ján Tomko
Fixes: 4b9919af4024a6fbc3d4ee996d8a4c27dbc44285
---
src/rpc/virnetsocket.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rpc/virnetsocket.c
Reported by Coverity (7 months ago) or cppcheck (today).
Ján Tomko (5):
util: event: check return value of virInitialize
qemu: firmware: check virJSONValueObjectGet return value
rpc: socket: properly call virSetCloseExec
virsh: do not return bool in virshNetworkPortUUIDCompleter
Use
This function can possibly fail.
Signed-off-by: Ján Tomko
Fixes: 2e07a1e14635ad25c57b66c13488feff4c8d2b0c
---
src/util/virevent.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/util/virevent.c b/src/util/virevent.c
index 3477d63554..f6eb806faf 100644
---
portability: Returning an integer in a function with pointer
return type is not portable. [CastIntegerToAddressAtReturn]
Signed-off-by: Ján Tomko
---
tools/virsh-completer-network.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/virsh-completer-network.c
If the mapping is not present, we should not try to
access its elements.
Signed-off-by: Ján Tomko
Fixes: 8b5b80f4c5f7342eedce0747469223387ab709ef
---
src/qemu/qemu_firmware.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_firmware.c
Patchew URL:
https://patchew.org/QEMU/20200922161611.2049616-1-berra...@redhat.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20200922161611.2049616-1-berra...@redhat.com
Subject: [PATCH v2 0/2] block: deprecate
On Tue, Sep 22, 2020 at 12:07 PM Ján Tomko wrote:
>
> On a Tuesday in 2020, Douglas, William wrote:
> >On Tue, Sep 22, 2020 at 1:11 AM Daniel P. Berrangé
> >wrote:
> >>
> >> On Mon, Sep 21, 2020 at 12:05:48PM -0700, Douglas, William wrote:
> >> > On Tue, Sep 15, 2020 at 5:53 AM Daniel P.
On a Tuesday in 2020, Douglas, William wrote:
On Tue, Sep 22, 2020 at 1:11 AM Daniel P. Berrangé wrote:
On Mon, Sep 21, 2020 at 12:05:48PM -0700, Douglas, William wrote:
> On Tue, Sep 15, 2020 at 5:53 AM Daniel P. Berrangé
wrote:
> >
> > On Thu, Aug 27, 2020 at 11:24:32AM -0700, William
On Tue, Sep 22, 2020 at 1:11 AM Daniel P. Berrangé wrote:
>
> On Mon, Sep 21, 2020 at 12:05:48PM -0700, Douglas, William wrote:
> > On Tue, Sep 15, 2020 at 5:53 AM Daniel P. Berrangé
> > wrote:
> > >
> > > On Thu, Aug 27, 2020 at 11:24:32AM -0700, William Douglas wrote:
> >
> >
> >
> > > >
On Tue, Sep 22, 2020 at 1:43 PM Daniel P. Berrangé wrote:
>
> On Tue, Sep 22, 2020 at 01:09:06PM -0400, Neal Gompa wrote:
> > On Tue, Sep 22, 2020 at 12:16 PM Daniel P. Berrangé
> > wrote:
> > >
> > > 2 years back I proposed dropping the sheepdog mailing list from the
> > > MAINTAINERS file,
On Thu, Sep 17, 2020 at 04:23:51PM +0100, Daniel P. Berrangé wrote:
> From: Prakhar Bansal
>
> ---
> include/libvirt/virterror.h | 2 +-
> libvirt.spec.in | 7 +
> m4/virt-driver-jailhouse.m4 | 42 +
> meson.build | 4 +
On 9/22/20 11:56 AM, Andrea Bolognani wrote:
On Tue, 2020-09-22 at 09:29 -0300, Daniel Henrique Barboza wrote:
Hi,
This is a follow up of [1] after Andrea pushed the revert
patch as standalone.
Changes from v1:
- patch 2 (former 3): moved the auto-align code from
On Tue, Sep 22, 2020 at 01:09:06PM -0400, Neal Gompa wrote:
> On Tue, Sep 22, 2020 at 12:16 PM Daniel P. Berrangé
> wrote:
> >
> > 2 years back I proposed dropping the sheepdog mailing list from the
> > MAINTAINERS file, but somehow the patch never got picked up:
> >
> >
On 22/09/2020 18.16, Daniel P. Berrangé wrote:
> This thread from a little over a year ago:
>
> http://lists.wpkg.org/pipermail/sheepdog/2019-March/thread.html
>
> states that sheepdog is no longer actively developed. The only mentioned
> users are some companies who are said to have it for
On 22/09/2020 18.16, Daniel P. Berrangé wrote:
> The sheepdog mailing list is setup to stop and queue messages from
> non-subscribers, pending moderator approval. Unfortunately it seems
> that the moderation queue is not actively dealt with. Even when messages
> are approved, the sender is never
On Tue, Sep 22, 2020 at 12:16 PM Daniel P. Berrangé wrote:
>
> 2 years back I proposed dropping the sheepdog mailing list from the
> MAINTAINERS file, but somehow the patch never got picked up:
>
> https://lists.gnu.org/archive/html/qemu-block/2018-03/msg01048.html
>
> So here I am with the
The sheepdog mailing list is setup to stop and queue messages from
non-subscribers, pending moderator approval. Unfortunately it seems
that the moderation queue is not actively dealt with. Even when messages
are approved, the sender is never added to the whitelist, so every
future mail from the
This thread from a little over a year ago:
http://lists.wpkg.org/pipermail/sheepdog/2019-March/thread.html
states that sheepdog is no longer actively developed. The only mentioned
users are some companies who are said to have it for legacy reasons with
plans to replace it by Ceph. There is
2 years back I proposed dropping the sheepdog mailing list from the
MAINTAINERS file, but somehow the patch never got picked up:
https://lists.gnu.org/archive/html/qemu-block/2018-03/msg01048.html
So here I am with the same patch again.
This time I go further and deprecate the sheepdog driver
On Mon, Sep 21, 2020 at 10:01:46PM -0400, Matt Coleman wrote:
> A previous change to this function's password handling broke the use of
> default values for credential types other than VIR_CRED_PASSPHRASE and
> VIR_CRED_NOECHOPROMPT.
>
> Signed-off-by: Matt Coleman
> ---
> src/libvirt.c | 4
On Tue, 2020-09-22 at 09:29 -0300, Daniel Henrique Barboza wrote:
> Hi,
>
> This is a follow up of [1] after Andrea pushed the revert
> patch as standalone.
>
> Changes from v1:
> - patch 2 (former 3): moved the auto-align code from
> virDomainMemoryDefParseXML() to
On a Tuesday in 2020, Roman Bogorodskiy wrote:
+static int
+bhyveParsePCIFbuf(virDomainDefPtr def,
+ virDomainXMLOptionPtr xmlopt,
+ unsigned caps G_GNUC_UNUSED,
+ unsigned bus,
+ unsigned slot,
+ unsigned
On Tue, Sep 22, 2020 at 04:07:40PM +0200, Erik Skultety wrote:
> .args and .ldargs counterparts of the
> bhyvexml2argv-addr-non-isa-controller-on-slot-1 test were missing.
>
> fixes: 16a2882350a85afdb0574a03117b36daac53750d
>
> Signed-off-by: Erik Skultety
> ---
>
> Pushed under the build
.args and .ldargs counterparts of the
bhyvexml2argv-addr-non-isa-controller-on-slot-1 test were missing.
fixes: 16a2882350a85afdb0574a03117b36daac53750d
Signed-off-by: Erik Skultety
---
Pushed under the build breaker rule.
...yvexml2argv-addr-non-isa-controller-on-slot-1.args | 11
On Tue, Sep 22, 2020 at 15:29:28 +0200, Tim Wiederhake wrote:
The stuff (before/after) you put into the cover letter should actually
be here. Or a better explanation if you don't like that.
But the cover letter blurb will get lost in time and this commit will
have no explanation/justification.
Subject is missing that this is for timers on non-x86.
On Tue, Sep 22, 2020 at 11:57:40 +, Sebastian Mitterle wrote:
> Add minimal coverage for non-x86_64 timer validation
> from commit 2f5d8ffebe5d3d00e16a051ed62ce8a703f18e7c
>
> Signed-off-by: Sebastian Mitterle
> ---
>
Signed-off-by: Tim Wiederhake
---
src/qemu/qemu_driver.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ae715c01d7..7f5cfc1a7f 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -12336,6 +12336,15 @@
See also https://www.redhat.com/archives/libvir-list/2020-June/msg01232.html
Before:
$ uname -m
s390x
$ cat passthrough-cpu.xml
$ virsh hypervisor-cpu-compare passthrough-cpu.xml
error: Failed to compare hypervisor CPU with passthrough-cpu.xml
error: internal error: unable to
On Tue, Sep 22, 2020 at 11:57:39 +, Sebastian Mitterle wrote:
> When an error is expected, the error message will be checked.
> This is expressed by creating an additional ".err" file containing
> the expected error message.
>
> It is added in order to make sure the expected errors
> are not
Roman Bogorodskiy wrote:
> From: Fabian Freyer
>
> Add a new helper function, bhyveParsePCIFbuf, to parse the bhyve-argv
> parameters for a frame-buffer device to and
> definitions.
>
> For now, only the listen address, port, and vga mode are detected.
> Unsupported parameters are silently
Right now, the logic that takes care of deciding whether expensive
tests should be run or not is not working correctly: more
specifically, it's not possible to use something like
$ VIR_TEST_EXPENSIVE=1 ninja test
to override the default choice, because in meson.build we always
pass an explicit
It's useful information to have available at a glance.
Signed-off-by: Andrea Bolognani
---
meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/meson.build b/meson.build
index 24535a403c..4d42468a51 100644
--- a/meson.build
+++ b/meson.build
@@ -2444,6 +2444,7 @@ win_summary = {
On Tue, Sep 22, 2020 at 04:28:51PM +0400, Roman Bogorodskiy wrote:
> From: Fabian Freyer
>
> Support setting a password for the VNC framebuffer using the passwd
> attribute on the element, if the driver has the
> BHYVE_CAP_VNC_PASSWORD capability.
>
> Note that virsh domxml-from-native does
On Tue, Sep 22, 2020 at 04:28:50PM +0400, Roman Bogorodskiy wrote:
> From: Fabian Freyer
>
> Introduces the BHYVE_CAP_VNC_PASSWORD capability, which is probed by
> parsing the error message from the bhyve command. When it is not
> supported, bhyve -s 0,fbuf,password= will return an error
On Tue, Sep 22, 2020 at 04:28:49PM +0400, Roman Bogorodskiy wrote:
> From: Fabian Freyer
>
> The resolution of the VNC framebuffer can now be set via the resolution
> definition introduced in 5.9.0.
>
> Also, add "gop" to the list of model types the
> sub-element is valid for.
>
>
On Tue, Sep 22, 2020 at 04:28:48PM +0400, Roman Bogorodskiy wrote:
> From: Fabian Freyer
>
> Add a new helper function, bhyveParsePCIFbuf, to parse the bhyve-argv
> parameters for a frame-buffer device to and
> definitions.
>
> For now, only the listen address, port, and vga mode are
On 8/28/20 6:53 AM, Dmytro Linkin wrote:
Current virPCIGetNetName() logic is to get net device name by checking
it's phys_port_id, if caller provide it, or by it's index (eg, by it's
position at sysfs net directory). This approach worked fine up until
linux kernel version 5.8, where NVIDIA
Signed-off-by: Daniel Henrique Barboza
---
NEWS.rst | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/NEWS.rst b/NEWS.rst
index 685c5e2225..d75c9a7c9e 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -40,7 +40,8 @@ v6.8.0 (unreleased)
The auto-alignment logic was removed in
We'll use the auto-alignment function during parse time, in
domain_conf.c. Let's move the function to that file, renaming
it to virDomainNVDimmAlignSizePseries(). This will also make it
clearer that, although QEMU is the only driver that currently
supports it, pSeries NVDIMM restrictions aren't
Hi,
This is a follow up of [1] after Andrea pushed the revert
patch as standalone.
Changes from v1:
- patch 2 (former 3): moved the auto-align code from
virDomainMemoryDefParseXML() to virDomainMemoryDefPostParse()
- patch 3 (former 4): updated NEWS.rst based on Andrea's
changes already
The alignment for the pSeries NVDIMM does not depend on runtime
constraints. This means that it can be done in device parse
time, instead of runtime, allowing the domain XML to reflect
what the auto-alignment would do when the domain starts.
This brings consistency between the NVDIMM size
From: Fabian Freyer
The resolution of the VNC framebuffer can now be set via the resolution
definition introduced in 5.9.0.
Also, add "gop" to the list of model types the
sub-element is valid for.
Signed-off-by: Fabian Freyer
Signed-off-by: Roman Bogorodskiy
---
NEWS.rst
From: Fabian Freyer
Support setting a password for the VNC framebuffer using the passwd
attribute on the element, if the driver has the
BHYVE_CAP_VNC_PASSWORD capability.
Note that virsh domxml-from-native does not output the password in the
generated XML, as VIR_DOMAIN_DEF_FORMAT_SECURE is
Changes from v2:
No functional changes, only rebase.
Fabian Freyer (4):
bhyve: support parsing fbuf PCI device
bhyve: add support for setting fbuf resolution
bhyve: probe for VNC password capability
bhyve: add VNC password support
NEWS.rst | 12
From: Fabian Freyer
Add a new helper function, bhyveParsePCIFbuf, to parse the bhyve-argv
parameters for a frame-buffer device to and
definitions.
For now, only the listen address, port, and vga mode are detected.
Unsupported parameters are silently skipped.
This involves upgrading the
From: Fabian Freyer
Introduces the BHYVE_CAP_VNC_PASSWORD capability, which is probed by
parsing the error message from the bhyve command. When it is not
supported, bhyve -s 0,fbuf,password= will return an error message.
Signed-off-by: Fabian Freyer
Signed-off-by: Roman Bogorodskiy
---
Fixes: 4277e61e22b7532dc476c44a356081053da470f8
Signed-off-by: Roman Bogorodskiy
---
Pushed as build breaker & trivial.
...yvexml2argv-addr-non-isa-controller-on-slot-1.args | 11 +++
...exml2argv-addr-non-isa-controller-on-slot-1.ldargs | 1 +
2 files changed, 12 insertions(+)
Add minimal coverage for non-x86_64 timer validation
from commit 2f5d8ffebe5d3d00e16a051ed62ce8a703f18e7c
Signed-off-by: Sebastian Mitterle
---
.../non-x86_64-timer-error.err | 1 +
.../non-x86_64-timer-error.xml | 18 ++
tests/qemuxml2argvtest.c
When an error is expected, the error message will be checked.
This is expressed by creating an additional ".err" file containing
the expected error message.
It is added in order to make sure the expected errors
are not masked by other errors during test execution while
leveraging the existing
In v1, the minimal test case is moved to the existing
test suite qemuxml2argv. Support for error message
checking is added.
The error message expectations for existing test cases
have not been validated and reflect the current state.
Localization suppression was tested manually by running
the
Daniel P. Berrangé wrote:
> On Sun, Sep 20, 2020 at 07:21:15PM +0400, Roman Bogorodskiy wrote:
> > Currently, slot 1 is only allowed to be used by the LPC device.
> > Relax this requirement and allow to use slot 1 if it was explicitly
> > specified by the user for any other device type. In this
On Sun, Sep 20, 2020 at 07:21:15PM +0400, Roman Bogorodskiy wrote:
> Currently, slot 1 is only allowed to be used by the LPC device.
> Relax this requirement and allow to use slot 1 if it was explicitly
> specified by the user for any other device type. In this case the LPC
> device will have the
On 9/22/20 7:26 AM, Andrea Bolognani wrote:
Signed-off-by: Andrea Bolognani
---
Reviewed-by: Daniel Henrique Barboza
NEWS.rst | 7 +++
1 file changed, 7 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index a2f7ecaf1d..685c5e2225 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -35,6
On 9/22/20 7:31 AM, Andrea Bolognani wrote:
On Thu, 2020-09-17 at 17:34 -0300, Daniel Henrique Barboza wrote:
On 9/17/20 7:48 AM, Andrea Bolognani wrote:
A few tweaks to the commit message, though:
* keep the order of commits consistent to the one they were merged
in, which more
On Thu, 2020-09-17 at 17:34 -0300, Daniel Henrique Barboza wrote:
> On 9/17/20 7:48 AM, Andrea Bolognani wrote:
> > A few tweaks to the commit message, though:
> >
> >* keep the order of commits consistent to the one they were merged
> > in, which more specifically means putting
Signed-off-by: Andrea Bolognani
---
NEWS.rst | 7 +++
1 file changed, 7 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index a2f7ecaf1d..685c5e2225 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -35,6 +35,13 @@ v6.8.0 (unreleased)
change we also remove dependency on libdbus and possibly fix
On 9/22/20 9:48 AM, Laine Stump wrote:
(Please don't Cc individual developers in patch submissions unless
they've specifically asked you to do so)
On 9/21/20 8:25 AM, zhenwei pi wrote:
Collect PCI passthrough net device stats from kernel by netlink
API.
Currently, libvirt can not get PCI
Hi Andrea,
On 9/16/20 6:44 PM, Andrea Bolognani wrote:
> Hello there!
>
> Several weeks ago, a group of Red Hatters working on the
> virtualization stack (primarily QEMU and libvirt) started a
> conversation with developers from the KubeVirt project with the goal
> of better understanding and
On Tue, Sep 22, 2020 at 10:45:09AM +0200, Boris Fiuczynski wrote:
> On 9/22/20 8:26 AM, Erik Skultety wrote:
> > On Mon, Sep 21, 2020 at 07:06:32PM +0200, Marc Hartmayer wrote:
> > > Don't process subchannel devices where `def->driver` is not set. This
> > > fixes the following segfault:
> > >
>
On 9/22/20 8:26 AM, Erik Skultety wrote:
On Mon, Sep 21, 2020 at 07:06:32PM +0200, Marc Hartmayer wrote:
Don't process subchannel devices where `def->driver` is not set. This
fixes the following segfault:
Thread 21 "nodedev-init" received signal SIGSEGV, Segmentation fault.
[Switching to
On Mon, Sep 21, 2020 at 12:05:48PM -0700, Douglas, William wrote:
> On Tue, Sep 15, 2020 at 5:53 AM Daniel P. Berrangé
> wrote:
> >
> > On Thu, Aug 27, 2020 at 11:24:32AM -0700, William Douglas wrote:
>
>
>
> > > +virCHMonitorPtr
> > > +virCHMonitorNew(virDomainObjPtr vm, const char
Some additional info (feel free to add it to the commit message):
Starting in version 6.1.0, virsh does not use the default username while
connecting:
$ ./run tools/virsh -c hyperv://example-hyperv-server?transport=http
capabilities
Enter username for example-hyperv-server [administrator]:
On Mon, Sep 21, 2020 at 07:06:32PM +0200, Marc Hartmayer wrote:
> Don't process subchannel devices where `def->driver` is not set. This
> fixes the following segfault:
>
> Thread 21 "nodedev-init" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x3ffb08fc910 (LWP 64303)]
>
A previous change to this function's password handling broke the use of
default values for credential types other than VIR_CRED_PASSPHRASE and
VIR_CRED_NOECHOPROMPT.
Signed-off-by: Matt Coleman
---
src/libvirt.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git
76 matches
Mail list logo