[PATCH v6 00/10] Fix scsi devices plug/unplug races w.r.t virtio-scsi iothread

Paolo Bonzini posted 10 patches 3 years, 7 months ago
Test docker-quick@centos7 failed
Test docker-mingw@fedora failed
Test checkpatch failed
Test FreeBSD failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20201002173558.232960-1-pbonzini@redhat.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Jason Wang <jasowang@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Paolo Bonzini <pbonzini@redhat.com>, Fam Zheng <fam@euphon.net>
There is a newer version of this series
hw/core/bus.c                |  28 ++--
hw/core/qdev.c               |  73 +++++++---
hw/net/virtio-net.c          |   2 +-
hw/scsi/scsi-bus.c           | 262 ++++++++++++++++++++++-------------
hw/scsi/virtio-scsi.c        |  27 ++--
hw/sd/core.c                 |   3 +-
include/hw/qdev-core.h       |  24 +++-
include/hw/scsi/scsi.h       |   1 +
qdev-monitor.c               |  12 ++
tests/qtest/drive_del-test.c |  10 +-
10 files changed, 301 insertions(+), 141 deletions(-)
[PATCH v6 00/10] Fix scsi devices plug/unplug races w.r.t virtio-scsi iothread
Posted by Paolo Bonzini 3 years, 7 months ago
changes from previous version:
- add comment to patch 1
- fix testsuite breakage by not using drain_call_rcu in qmp_device_del

Maxim Levitsky (7):
  scsi/scsi_bus: switch search direction in scsi_device_find
  device_core: use drain_call_rcu in in qmp_device_add
  device-core: use RCU for list of children of a bus
  device-core: use atomic_set on .realized property
  scsi/scsi_bus: Add scsi_device_get
  virtio-scsi: use scsi_device_get
  scsi/scsi_bus: fix races in REPORT LUNS

Paolo Bonzini (3):
  qdev: add "check if address free" callback for buses
  scsi: switch to bus->check_address
  scsi/scsi-bus: scsi_device_find: don't return unrealized devices

 hw/core/bus.c                |  28 ++--
 hw/core/qdev.c               |  73 +++++++---
 hw/net/virtio-net.c          |   2 +-
 hw/scsi/scsi-bus.c           | 262 ++++++++++++++++++++++-------------
 hw/scsi/virtio-scsi.c        |  27 ++--
 hw/sd/core.c                 |   3 +-
 include/hw/qdev-core.h       |  24 +++-
 include/hw/scsi/scsi.h       |   1 +
 qdev-monitor.c               |  12 ++
 tests/qtest/drive_del-test.c |  10 +-
 10 files changed, 301 insertions(+), 141 deletions(-)

-- 
2.26.2


Re: [PATCH v6 00/10] Fix scsi devices plug/unplug races w.r.t virtio-scsi iothread
Posted by no-reply@patchew.org 3 years, 7 months ago
Patchew URL: https://patchew.org/QEMU/20201002173558.232960-1-pbonzini@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20201002173558.232960-1-pbonzini@redhat.com
Subject: [PATCH v6 00/10] Fix scsi devices plug/unplug races w.r.t virtio-scsi iothread

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20200929224355.1224017-1-philmd@redhat.com -> patchew/20200929224355.1224017-1-philmd@redhat.com
 - [tag update]      patchew/20201003024123.193840-1-ehabkost@redhat.com -> patchew/20201003024123.193840-1-ehabkost@redhat.com
 - [tag update]      patchew/20201003025424.199291-1-ehabkost@redhat.com -> patchew/20201003025424.199291-1-ehabkost@redhat.com
 * [new tag]         patchew/20201003085054.332992-1-pbonzini@redhat.com -> patchew/20201003085054.332992-1-pbonzini@redhat.com
 * [new tag]         patchew/20201003085054.332992-2-pbonzini@redhat.com -> patchew/20201003085054.332992-2-pbonzini@redhat.com
Switched to a new branch 'test'
72355ec scsi/scsi_bus: fix races in REPORT LUNS
78baf0c virtio-scsi: use scsi_device_get
03b4bc4 scsi/scsi_bus: Add scsi_device_get
2a615ef scsi/scsi-bus: scsi_device_find: don't return unrealized devices
59dbbdb device-core: use atomic_set on .realized property
0f7ff0e device-core: use RCU for list of children of a bus
5d17a9e device_core: use drain_call_rcu in in qmp_device_add
7fda4cb scsi/scsi_bus: switch search direction in scsi_device_find
7d8c3e8 scsi: switch to bus->check_address
7aacab0 qdev: add "check if address free" callback for buses

=== OUTPUT BEGIN ===
1/10 Checking commit 7aacab0c0d1b (qdev: add "check if address free" callback for buses)
2/10 Checking commit 7d8c3e85267a (scsi: switch to bus->check_address)
ERROR: code indent should never use tabs
#53: FILE: hw/scsi/scsi-bus.c:137:
+^I^I^I^I     int channel, int target, int lun,$

ERROR: code indent should never use tabs
#54: FILE: hw/scsi/scsi-bus.c:138:
+^I^I^I^I     SCSIDevice **p_dev)$

WARNING: line over 80 characters
#69: FILE: hw/scsi/scsi-bus.c:153:
+static bool scsi_bus_check_address(BusState *qbus, DeviceState *qdev, Error **errp)

WARNING: line over 80 characters
#89: FILE: hw/scsi/scsi-bus.c:173:
+        if (!scsi_bus_is_address_free(bus, dev->channel, dev->id, dev->lun, &d)) {

WARNING: line over 80 characters
#128: FILE: hw/scsi/scsi-bus.c:195:
+            is_free = scsi_bus_is_address_free(bus, dev->channel, ++id, dev->lun, NULL);

WARNING: line over 80 characters
#141: FILE: hw/scsi/scsi-bus.c:205:
+            is_free = scsi_bus_is_address_free(bus, dev->channel, dev->id, ++lun, NULL);

total: 2 errors, 4 warnings, 182 lines checked

Patch 2/10 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

3/10 Checking commit 7fda4cb2ba3d (scsi/scsi_bus: switch search direction in scsi_device_find)
4/10 Checking commit 5d17a9e06136 (device_core: use drain_call_rcu in in qmp_device_add)
5/10 Checking commit 0f7ff0e67f1c (device-core: use RCU for list of children of a bus)
6/10 Checking commit 59dbbdb8dc7f (device-core: use atomic_set on .realized property)
7/10 Checking commit 2a615ef87ec0 (scsi/scsi-bus: scsi_device_find: don't return unrealized devices)
8/10 Checking commit 03b4bc43c886 (scsi/scsi_bus: Add scsi_device_get)
9/10 Checking commit 78baf0c272a0 (virtio-scsi: use scsi_device_get)
10/10 Checking commit 72355ecf7e7e (scsi/scsi_bus: fix races in REPORT LUNS)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20201002173558.232960-1-pbonzini@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com