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>
This commit is contained in:
parent
a4aab7b4cb
commit
ce33967af7
4
nbd.c
4
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);
|
||||
|
3
nbd.h
3
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
|
||||
|
Loading…
Reference in New Issue
Block a user