mchan_mount
static struct mchan_mount *
struct mchan_mount *mchan_mount;
mchan_mount = kzalloc_obj(*mchan_mount);
if (!mchan_mount)
INIT_WORK(&mchan_mount->work, mchan_mount_work_fn);
mchan_mount->ses = ses;
return mchan_mount;
mchan_mount_free(struct mchan_mount *mchan_mount)
cifs_put_smb_ses(mchan_mount->ses);
kfree(mchan_mount);
struct mchan_mount *mchan_mount = container_of(work, struct mchan_mount, work);
smb3_update_ses_channels(mchan_mount->ses,
mchan_mount->ses->server,
mchan_mount_free(mchan_mount);
struct mchan_mount *mchan_mount = NULL;
mchan_mount = mchan_mount_alloc(mnt_ctx.ses);
if (IS_ERR(mchan_mount)) {
rc = PTR_ERR(mchan_mount);
queue_work(cifsiod_wq, &mchan_mount->work);
if (ctx->multichannel && !IS_ERR_OR_NULL(mchan_mount))
mchan_mount_free(mchan_mount);
struct mchan_mount *mchan_mount = NULL;
mchan_mount = mchan_mount_alloc(mnt_ctx.ses);
if (IS_ERR(mchan_mount)) {
rc = PTR_ERR(mchan_mount);
queue_work(cifsiod_wq, &mchan_mount->work);
if (ctx->multichannel && !IS_ERR_OR_NULL(mchan_mount))
mchan_mount_free(mchan_mount);
static struct mchan_mount *mchan_mount_alloc(struct cifs_ses *ses);
static void mchan_mount_free(struct mchan_mount *mchan_mount);