Commit 898ae90a authored by Li Qiang's avatar Li Qiang Committed by Greg Kurz
Browse files

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: default avatarLi Qiang <liq3ea@gmail.com>
Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Signed-off-by: default avatarGreg Kurz <groug@kaod.org>
parent 971f406b
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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,