9pfs: add cleanup operation for proxy backend driver

In the init operation of proxy backend dirver, it allocates a
V9fsProxy struct and some other resources. We should free these
resources when the 9pfs device is unrealized. This is what this
patch does.

Signed-off-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Greg Kurz <groug@kaod.org>
This commit is contained in:
Li Qiang 2016-11-23 13:53:34 +01:00 committed by Greg Kurz
parent 971f406b77
commit 898ae90a44
1 changed files with 13 additions and 0 deletions

View File

@ -1168,9 +1168,22 @@ static int proxy_init(FsContext *ctx)
return 0;
}
static void proxy_cleanup(FsContext *ctx)
{
V9fsProxy *proxy = ctx->private;
g_free(proxy->out_iovec.iov_base);
g_free(proxy->in_iovec.iov_base);
if (ctx->export_flags & V9FS_PROXY_SOCK_NAME) {
close(proxy->sockfd);
}
g_free(proxy);
}
FileOperations proxy_ops = {
.parse_opts = proxy_parse_opts,
.init = proxy_init,
.cleanup = proxy_cleanup,
.lstat = proxy_lstat,
.readlink = proxy_readlink,
.close = proxy_close,