diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-09-18 13:17:52 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-09-19 15:26:26 +0200 |
commit | ce33967af74523685c7f911f6576c689728fcc81 (patch) | |
tree | 28faa0a09a5d0bd6ce3b3bbc195294b99e276724 | |
parent | a4aab7b4cb2d994e17c987d7d3fb2b6645ea92a2 (diff) |
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.c | 4 | ||||
-rw-r--r-- | nbd.h | 3 |
2 files changed, 5 insertions, 2 deletions
@@ -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); @@ -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 |