[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/33] nbd/server: avoid per-NBDRequest nbd_client_get/put()
From: |
Kevin Wolf |
Subject: |
[PULL 01/33] nbd/server: avoid per-NBDRequest nbd_client_get/put() |
Date: |
Thu, 21 Dec 2023 22:23:06 +0100 |
From: Stefan Hajnoczi <stefanha@redhat.com>
nbd_trip() processes a single NBD request from start to finish and holds
an NBDClient reference throughout. NBDRequest does not outlive the scope
of nbd_trip(). Therefore it is unnecessary to ref/unref NBDClient for
each NBDRequest.
Removing these nbd_client_get()/nbd_client_put() calls will make
thread-safety easier in the commits that follow.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20231221192452.1785567-5-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
nbd/server.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/nbd/server.c b/nbd/server.c
index 895cf0a752..0b09ccc8dc 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -1557,7 +1557,6 @@ static NBDRequestData *nbd_request_get(NBDClient *client)
client->nb_requests++;
req = g_new0(NBDRequestData, 1);
- nbd_client_get(client);
req->client = client;
return req;
}
@@ -1578,8 +1577,6 @@ static void nbd_request_put(NBDRequestData *req)
}
nbd_client_receive_next_request(client);
-
- nbd_client_put(client);
}
static void blk_aio_attached(AioContext *ctx, void *opaque)
--
2.43.0
- [PULL 00/33] Block layer patches, Kevin Wolf, 2023/12/21
- [PULL 01/33] nbd/server: avoid per-NBDRequest nbd_client_get/put(),
Kevin Wolf <=
- [PULL 03/33] nbd/server: introduce NBDClient->lock to protect fields, Kevin Wolf, 2023/12/21
- [PULL 05/33] virtio-blk: add lock to protect s->rq, Kevin Wolf, 2023/12/21
- [PULL 04/33] block/file-posix: set up Linux AIO and io_uring in the current thread, Kevin Wolf, 2023/12/21
- [PULL 02/33] nbd/server: only traverse NBDExport->clients from main loop thread, Kevin Wolf, 2023/12/21
- [PULL 06/33] virtio-blk: don't lock AioContext in the completion code path, Kevin Wolf, 2023/12/21
- [PULL 07/33] virtio-blk: don't lock AioContext in the submission code path, Kevin Wolf, 2023/12/21
- [PULL 09/33] vl: Improve error message for conflicting -incoming and -loadvm, Kevin Wolf, 2023/12/21
- [PULL 08/33] block: Fix crash when loading snapshot on inactive node, Kevin Wolf, 2023/12/21
- [PULL 10/33] iotests: Basic tests for internal snapshots, Kevin Wolf, 2023/12/21
- [PULL 11/33] scsi: only access SCSIDevice->requests from one thread, Kevin Wolf, 2023/12/21