Lines Matching refs:mnt_ctx

3132 void cifs_mount_put_conns(struct cifs_mount_ctx *mnt_ctx)  in cifs_mount_put_conns()  argument
3136 if (mnt_ctx->tcon) in cifs_mount_put_conns()
3137 cifs_put_tcon(mnt_ctx->tcon); in cifs_mount_put_conns()
3138 else if (mnt_ctx->ses) in cifs_mount_put_conns()
3139 cifs_put_smb_ses(mnt_ctx->ses); in cifs_mount_put_conns()
3140 else if (mnt_ctx->server) in cifs_mount_put_conns()
3141 cifs_put_tcp_session(mnt_ctx->server, 0); in cifs_mount_put_conns()
3142 mnt_ctx->cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_POSIX_PATHS; in cifs_mount_put_conns()
3143 free_xid(mnt_ctx->xid); in cifs_mount_put_conns()
3146 int cifs_mount_get_session(struct cifs_mount_ctx *mnt_ctx) in cifs_mount_get_session() argument
3156 if (WARN_ON_ONCE(!mnt_ctx || !mnt_ctx->fs_ctx)) { in cifs_mount_get_session()
3160 ctx = mnt_ctx->fs_ctx; in cifs_mount_get_session()
3185 mnt_ctx->xid = xid; in cifs_mount_get_session()
3186 mnt_ctx->server = server; in cifs_mount_get_session()
3187 mnt_ctx->ses = ses; in cifs_mount_get_session()
3188 mnt_ctx->tcon = NULL; in cifs_mount_get_session()
3193 int cifs_mount_get_tcon(struct cifs_mount_ctx *mnt_ctx) in cifs_mount_get_tcon() argument
3201 if (WARN_ON_ONCE(!mnt_ctx || !mnt_ctx->server || !mnt_ctx->ses || !mnt_ctx->fs_ctx || in cifs_mount_get_tcon()
3202 !mnt_ctx->cifs_sb)) { in cifs_mount_get_tcon()
3206 server = mnt_ctx->server; in cifs_mount_get_tcon()
3207 ctx = mnt_ctx->fs_ctx; in cifs_mount_get_tcon()
3208 cifs_sb = mnt_ctx->cifs_sb; in cifs_mount_get_tcon()
3211 tcon = cifs_get_tcon(mnt_ctx->ses, ctx); in cifs_mount_get_tcon()
3229 reset_cifs_unix_caps(mnt_ctx->xid, tcon, cifs_sb, ctx); in cifs_mount_get_tcon()
3245 server->ops->qfs_tcon(mnt_ctx->xid, tcon, cifs_sb); in cifs_mount_get_tcon()
3278 mnt_ctx->tcon = tcon; in cifs_mount_get_tcon()
3360 int cifs_is_path_remote(struct cifs_mount_ctx *mnt_ctx) in cifs_is_path_remote() argument
3363 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in cifs_is_path_remote()
3364 struct TCP_Server_Info *server = mnt_ctx->server; in cifs_is_path_remote()
3365 unsigned int xid = mnt_ctx->xid; in cifs_is_path_remote()
3366 struct cifs_tcon *tcon = mnt_ctx->tcon; in cifs_is_path_remote()
3367 struct smb3_fs_context *ctx = mnt_ctx->fs_ctx; in cifs_is_path_remote()
3406 struct cifs_mount_ctx mnt_ctx = { .cifs_sb = cifs_sb, .fs_ctx = ctx, }; in cifs_mount() local
3410 uuid_gen(&mnt_ctx.mount_id); in cifs_mount()
3411 rc = dfs_mount_share(&mnt_ctx, &isdfs); in cifs_mount()
3430 uuid_copy(&cifs_sb->dfs_mount_id, &mnt_ctx.mount_id); in cifs_mount()
3433 cifs_try_adding_channels(cifs_sb, mnt_ctx.ses); in cifs_mount()
3434 rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); in cifs_mount()
3438 free_xid(mnt_ctx.xid); in cifs_mount()
3442 dfs_cache_put_refsrv_sessions(&mnt_ctx.mount_id); in cifs_mount()
3443 kfree(mnt_ctx.origin_fullpath); in cifs_mount()
3444 kfree(mnt_ctx.leaf_fullpath); in cifs_mount()
3445 cifs_mount_put_conns(&mnt_ctx); in cifs_mount()
3452 struct cifs_mount_ctx mnt_ctx = { .cifs_sb = cifs_sb, .fs_ctx = ctx, }; in cifs_mount() local
3454 rc = cifs_mount_get_session(&mnt_ctx); in cifs_mount()
3458 rc = cifs_mount_get_tcon(&mnt_ctx); in cifs_mount()
3462 rc = cifs_is_path_remote(&mnt_ctx); in cifs_mount()
3468 rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); in cifs_mount()
3472 free_xid(mnt_ctx.xid); in cifs_mount()
3476 cifs_mount_put_conns(&mnt_ctx); in cifs_mount()