Lines Matching refs:mnt_ctx
3638 void cifs_mount_put_conns(struct cifs_mount_ctx *mnt_ctx) in cifs_mount_put_conns() argument
3642 if (mnt_ctx->tcon) in cifs_mount_put_conns()
3643 cifs_put_tcon(mnt_ctx->tcon, netfs_trace_tcon_ref_put_mnt_ctx); in cifs_mount_put_conns()
3644 else if (mnt_ctx->ses) in cifs_mount_put_conns()
3645 cifs_put_smb_ses(mnt_ctx->ses); in cifs_mount_put_conns()
3646 else if (mnt_ctx->server) in cifs_mount_put_conns()
3647 cifs_put_tcp_session(mnt_ctx->server, 0); in cifs_mount_put_conns()
3648 mnt_ctx->ses = NULL; in cifs_mount_put_conns()
3649 mnt_ctx->tcon = NULL; in cifs_mount_put_conns()
3650 mnt_ctx->server = NULL; in cifs_mount_put_conns()
3651 mnt_ctx->cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_POSIX_PATHS; in cifs_mount_put_conns()
3652 free_xid(mnt_ctx->xid); in cifs_mount_put_conns()
3655 int cifs_mount_get_session(struct cifs_mount_ctx *mnt_ctx) in cifs_mount_get_session() argument
3665 if (WARN_ON_ONCE(!mnt_ctx || !mnt_ctx->fs_ctx)) { in cifs_mount_get_session()
3669 ctx = mnt_ctx->fs_ctx; in cifs_mount_get_session()
3694 mnt_ctx->xid = xid; in cifs_mount_get_session()
3695 mnt_ctx->server = server; in cifs_mount_get_session()
3696 mnt_ctx->ses = ses; in cifs_mount_get_session()
3697 mnt_ctx->tcon = NULL; in cifs_mount_get_session()
3702 int cifs_mount_get_tcon(struct cifs_mount_ctx *mnt_ctx) in cifs_mount_get_tcon() argument
3710 if (WARN_ON_ONCE(!mnt_ctx || !mnt_ctx->server || !mnt_ctx->ses || !mnt_ctx->fs_ctx || in cifs_mount_get_tcon()
3711 !mnt_ctx->cifs_sb)) { in cifs_mount_get_tcon()
3715 server = mnt_ctx->server; in cifs_mount_get_tcon()
3716 ctx = mnt_ctx->fs_ctx; in cifs_mount_get_tcon()
3717 cifs_sb = mnt_ctx->cifs_sb; in cifs_mount_get_tcon()
3720 tcon = cifs_get_tcon(mnt_ctx->ses, ctx); in cifs_mount_get_tcon()
3744 reset_cifs_unix_caps(mnt_ctx->xid, tcon, cifs_sb, ctx); in cifs_mount_get_tcon()
3760 server->ops->qfs_tcon(mnt_ctx->xid, tcon, cifs_sb); in cifs_mount_get_tcon()
3782 mnt_ctx->tcon = tcon; in cifs_mount_get_tcon()
3868 int cifs_is_path_remote(struct cifs_mount_ctx *mnt_ctx) in cifs_is_path_remote() argument
3871 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in cifs_is_path_remote()
3872 struct TCP_Server_Info *server = mnt_ctx->server; in cifs_is_path_remote()
3873 unsigned int xid = mnt_ctx->xid; in cifs_is_path_remote()
3874 struct cifs_tcon *tcon = mnt_ctx->tcon; in cifs_is_path_remote()
3875 struct smb3_fs_context *ctx = mnt_ctx->fs_ctx; in cifs_is_path_remote()
3914 struct cifs_mount_ctx mnt_ctx = { .cifs_sb = cifs_sb, .fs_ctx = ctx, }; in cifs_mount() local
3917 rc = dfs_mount_share(&mnt_ctx); in cifs_mount()
3938 cifs_try_adding_channels(mnt_ctx.ses); in cifs_mount()
3939 rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); in cifs_mount()
3943 free_xid(mnt_ctx.xid); in cifs_mount()
3947 cifs_mount_put_conns(&mnt_ctx); in cifs_mount()
3954 struct cifs_mount_ctx mnt_ctx = { .cifs_sb = cifs_sb, .fs_ctx = ctx, }; in cifs_mount() local
3956 rc = cifs_mount_get_session(&mnt_ctx); in cifs_mount()
3960 rc = cifs_mount_get_tcon(&mnt_ctx); in cifs_mount()
3966 if (WARN_ON(!mnt_ctx.server)) in cifs_mount()
3968 else if (WARN_ON(!mnt_ctx.ses)) in cifs_mount()
3970 else if (WARN_ON(!mnt_ctx.tcon)) in cifs_mount()
3976 rc = cifs_is_path_remote(&mnt_ctx); in cifs_mount()
3982 rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); in cifs_mount()
3986 free_xid(mnt_ctx.xid); in cifs_mount()
3990 cifs_mount_put_conns(&mnt_ctx); in cifs_mount()