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
|
#define MAX_NBD_REQUESTS 16
|
||||||
|
|
||||||
static void nbd_client_get(NBDClient *client)
|
void nbd_client_get(NBDClient *client)
|
||||||
{
|
{
|
||||||
client->refcount++;
|
client->refcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nbd_client_put(NBDClient *client)
|
void nbd_client_put(NBDClient *client)
|
||||||
{
|
{
|
||||||
if (--client->refcount == 0) {
|
if (--client->refcount == 0) {
|
||||||
g_free(client);
|
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,
|
NBDExport *nbd_export_new(BlockDriverState *bs, off_t dev_offset,
|
||||||
off_t size, uint32_t nbdflags);
|
off_t size, uint32_t nbdflags);
|
||||||
void nbd_export_close(NBDExport *exp);
|
void nbd_export_close(NBDExport *exp);
|
||||||
|
|
||||||
NBDClient *nbd_client_new(NBDExport *exp, int csock,
|
NBDClient *nbd_client_new(NBDExport *exp, int csock,
|
||||||
void (*close)(NBDClient *));
|
void (*close)(NBDClient *));
|
||||||
|
void nbd_client_get(NBDClient *client);
|
||||||
|
void nbd_client_put(NBDClient *client);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user