summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-09-18 13:17:52 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2012-09-19 15:26:26 +0200
commitce33967af74523685c7f911f6576c689728fcc81 (patch)
tree28faa0a09a5d0bd6ce3b3bbc195294b99e276724
parenta4aab7b4cb2d994e17c987d7d3fb2b6645ea92a2 (diff)
downloadqemu-ce33967af74523685c7f911f6576c689728fcc81.tar.gz
nbd: make refcount interface public
After the next patch, the close callback will have to release its reference. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--nbd.c4
-rw-r--r--nbd.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/nbd.c b/nbd.c
index 83200bdccd..4aeb80ae18 100644
--- a/nbd.c
+++ b/nbd.c
@@ -647,12 +647,12 @@ static ssize_t nbd_send_reply(int csock, struct nbd_reply *reply)
#define MAX_NBD_REQUESTS 16
-static void nbd_client_get(NBDClient *client)
+void nbd_client_get(NBDClient *client)
{
client->refcount++;
}
-static void nbd_client_put(NBDClient *client)
+void nbd_client_put(NBDClient *client)
{
if (--client->refcount == 0) {
g_free(client);
diff --git a/nbd.h b/nbd.h
index 40d58d359f..a9038dc196 100644
--- a/nbd.h
+++ b/nbd.h
@@ -81,7 +81,10 @@ typedef struct NBDClient NBDClient;
NBDExport *nbd_export_new(BlockDriverState *bs, off_t dev_offset,
off_t size, uint32_t nbdflags);
void nbd_export_close(NBDExport *exp);
+
NBDClient *nbd_client_new(NBDExport *exp, int csock,
void (*close)(NBDClient *));
+void nbd_client_get(NBDClient *client);
+void nbd_client_put(NBDClient *client);
#endif