| /linux/fs/smb/client/ |
| H A D | link.c | 137 struct cifs_sb_info *cifs_sb, const char *fromName, in create_mf_symlink() argument 154 cifs_sb, fromName, buf, &bytes_written); in create_mf_symlink() 171 struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, in check_mf_symlink() argument 190 cifs_sb, path, buf, &bytes_read); in check_mf_symlink() 228 struct cifs_sb_info *cifs_sb, const unsigned char *path, in cifs_query_mf_symlink() argument 241 .cifs_sb = cifs_sb, in cifs_query_mf_symlink() 243 .create_options = cifs_create_options(cifs_sb, CREATE_NOT_DIR), in cifs_query_mf_symlink() 273 struct cifs_sb_info *cifs_sb, const unsigned char *path, in cifs_create_mf_symlink() argument 284 .cifs_sb = cifs_sb, in cifs_create_mf_symlink() 286 .create_options = cifs_create_options(cifs_sb, CREATE_NOT_DIR), in cifs_create_mf_symlink() [all …]
|
| H A D | inode.c | 43 struct cifs_sb_info *cifs_sb = CIFS_SB(inode); in cifs_set_ops() local 44 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in cifs_set_ops() 46 unsigned int sbflags = cifs_sb_flags(cifs_sb); in cifs_set_ops() 169 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_fattr_to_inode() local 199 !(cifs_sb_flags(cifs_sb) & CIFS_MOUNT_DYNPERM)) in cifs_fattr_to_inode() 244 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_fill_uniqueid() local 246 if (!(cifs_sb_flags(cifs_sb) & CIFS_MOUNT_SERVER_INUM)) in cifs_fill_uniqueid() 253 struct cifs_sb_info *cifs_sb) in cifs_unix_basic_to_fattr() argument 315 sbflags = cifs_sb_flags(cifs_sb); in cifs_unix_basic_to_fattr() 316 fattr->cf_uid = cifs_sb->ctx->linux_uid; in cifs_unix_basic_to_fattr() [all …]
|
| H A D | cifsfs.c | 229 struct cifs_sb_info *cifs_sb; in cifs_read_super() local 236 cifs_sb = CIFS_SB(sb); in cifs_read_super() 237 tcon = cifs_sb_master_tcon(cifs_sb); in cifs_read_super() 238 sbflags = cifs_sb_flags(cifs_sb); in cifs_read_super() 287 if (cifs_sb->ctx->rsize == 0) in cifs_read_super() 288 cifs_sb->ctx->rsize = in cifs_read_super() 289 tcon->ses->server->ops->negotiate_rsize(tcon, cifs_sb->ctx); in cifs_read_super() 290 if (cifs_sb->ctx->rasize) in cifs_read_super() 291 sb->s_bdi->ra_pages = cifs_sb->ctx->rasize / PAGE_SIZE; in cifs_read_super() 293 sb->s_bdi->ra_pages = 2 * (cifs_sb->ctx->rsize / PAGE_SIZE); in cifs_read_super() [all …]
|
| H A D | dir.c | 39 cifs_build_path_to_root(struct smb3_fs_context *ctx, struct cifs_sb_info *cifs_sb, in cifs_build_path_to_root() argument 63 full_path[dfsplen] = CIFS_DIR_SEP(cifs_sb); in cifs_build_path_to_root() 65 convert_delimiter(full_path, CIFS_DIR_SEP(cifs_sb)); in cifs_build_path_to_root() 73 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry() local 74 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in build_path_from_dentry() 85 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry); in __build_path_from_dentry_optional_prefix() local 86 unsigned int sbflags = cifs_sb_flags(cifs_sb); in __build_path_from_dentry_optional_prefix() 87 char dirsep = CIFS_DIR_SEP(cifs_sb); in __build_path_from_dentry_optional_prefix() 101 pplen = cifs_sb->prepath ? strlen(cifs_sb->prepath) + 1 : 0; in __build_path_from_dentry_optional_prefix() 111 cifs_dbg(FYI, "using cifs_sb prepath <%s>\n", cifs_sb->prepath); in __build_path_from_dentry_optional_prefix() [all …]
|
| H A D | smb1ops.c | 22 struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx) in reset_cifs_unix_caps() argument 79 if (cifs_sb) in reset_cifs_unix_caps() 80 sbflags = cifs_sb_flags(cifs_sb); in reset_cifs_unix_caps() 87 if (cifs_sb) in reset_cifs_unix_caps() 95 if (cifs_sb) in reset_cifs_unix_caps() 99 if (cifs_sb) in reset_cifs_unix_caps() 100 atomic_set(&cifs_sb->mnt_cifs_flags, sbflags); in reset_cifs_unix_caps() 501 struct cifs_sb_info *cifs_sb) in cifs_qfs_tcon() argument 509 struct cifs_sb_info *cifs_sb, const char *full_path) in cifs_is_path_accessible() argument 519 0 /* not legacy */, cifs_sb->local_nls, in cifs_is_path_accessible() [all …]
|
| H A D | smb2inode.c | 176 struct cifs_sb_info *cifs_sb, const char *full_path, in smb2_compound_op() argument 231 utf16_path = cifs_convert_path_to_utf16(full_path, cifs_sb); in smb2_compound_op() 889 struct cifs_sb_info *cifs_sb, in parse_create_response() argument 903 rc = smb2_parse_symlink_response(cifs_sb, iov, in parse_create_response() 952 struct cifs_sb_info *cifs_sb, in smb2_query_path_info() argument 982 cifs_sb, false, &cfid); in smb2_query_path_info() 1009 oparms = CIFS_OPARMS(cifs_sb, tcon, full_path, FILE_READ_ATTRIBUTES, in smb2_query_path_info() 1011 rc = smb2_compound_op(xid, tcon, cifs_sb, full_path, in smb2_query_path_info() 1024 rc = parse_create_response(data, cifs_sb, full_path, &out_iov[0]); in smb2_query_path_info() 1049 oparms = CIFS_OPARMS(cifs_sb, tcon, full_path, MAXIMUM_ALLOWED, in smb2_query_path_info() [all …]
|
| H A D | misc.c | 281 cifs_autodisable_serverino(struct cifs_sb_info *cifs_sb) in cifs_autodisable_serverino() argument 283 unsigned int sbflags = cifs_sb_flags(cifs_sb); in cifs_autodisable_serverino() 288 if (cifs_sb->master_tlink) in cifs_autodisable_serverino() 289 tcon = cifs_sb_master_tcon(cifs_sb); in cifs_autodisable_serverino() 291 atomic_andnot(CIFS_MOUNT_SERVER_INUM, &cifs_sb->mnt_cifs_flags); in cifs_autodisable_serverino() 292 cifs_sb->mnt_cifs_serverino_autodisabled = true; in cifs_autodisable_serverino() 390 backup_cred(struct cifs_sb_info *cifs_sb) in backup_cred() argument 392 unsigned int sbflags = cifs_sb_flags(cifs_sb); in backup_cred() 395 if (uid_eq(cifs_sb->ctx->backupuid, current_fsuid())) in backup_cred() 399 if (in_group_p(cifs_sb->ctx->backupgid)) in backup_cred() [all …]
|
| H A D | readdir.c | 73 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_prime_dcache() local 74 bool posix = cifs_sb_master_tcon(cifs_sb)->posix_extensions; in cifs_prime_dcache() 124 if (!(cifs_sb_flags(cifs_sb) & CIFS_MOUNT_SERVER_INUM)) in cifs_prime_dcache() 175 cifs_fill_common_info(struct cifs_fattr *fattr, struct cifs_sb_info *cifs_sb) in cifs_fill_common_info() argument 182 fattr->cf_uid = cifs_sb->ctx->linux_uid; in cifs_fill_common_info() 183 fattr->cf_gid = cifs_sb->ctx->linux_gid; in cifs_fill_common_info() 194 cifs_reparse_point_to_fattr(cifs_sb, fattr, &data)) in cifs_fill_common_info() 198 fattr->cf_mode = S_IFDIR | cifs_sb->ctx->dir_mode; in cifs_fill_common_info() 201 fattr->cf_mode = S_IFREG | cifs_sb->ctx->file_mode; in cifs_fill_common_info() 219 sbflags = cifs_sb_flags(cifs_sb); in cifs_fill_common_info() [all …]
|
| H A D | reparse.c | 31 static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb, 58 struct cifs_sb_info *cifs_sb = CIFS_SB(inode); in create_native_symlink() local 59 const char *symroot = cifs_sb->ctx->symlinkroot; in create_native_symlink() 61 char sep = CIFS_DIR_SEP(cifs_sb); in create_native_symlink() 87 sbflags = cifs_sb_flags(cifs_sb); in create_native_symlink() 171 path = cifs_convert_path_to_utf16(sym, cifs_sb); in create_native_symlink() 194 rc = detect_directory_symlink_target(cifs_sb, xid, full_path, symname, &directory); in create_native_symlink() 247 static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb, in detect_directory_symlink_target() argument 253 char sep = CIFS_DIR_SEP(cifs_sb); in detect_directory_symlink_target() 302 tlink = cifs_sb_tlink(cifs_sb); in detect_directory_symlink_target() [all …]
|
| H A D | smb2proto.h | 32 struct cifs_sb_info *cifs_sb); 57 struct cifs_sb_info *cifs_sb, 61 struct cifs_sb_info *cifs_sb, const char *full_path, 65 struct cifs_sb_info *cifs_sb, bool set_alloc, 71 const char *full_path, struct cifs_sb_info *cifs_sb); 74 struct cifs_sb_info *cifs_sb); 76 struct cifs_sb_info *cifs_sb, struct cifs_tcon *tcon, 79 const char *name, struct cifs_sb_info *cifs_sb); 81 const char *name, struct cifs_sb_info *cifs_sb, 85 const char *to_name, struct cifs_sb_info *cifs_sb); [all …]
|
| H A D | cifsproto.h | 80 struct cifs_sb_info *cifs_sb, 134 bool backup_cred(struct cifs_sb_info *cifs_sb); 178 struct cifs_sb_info *cifs_sb); 181 struct cifs_sb_info *cifs_sb); 201 int sid_to_id(struct cifs_sb_info *cifs_sb, struct smb_sid *psid, 203 int cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, 208 struct smb_ntsd *get_cifs_acl(struct cifs_sb_info *cifs_sb, 211 struct smb_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb, 233 int cifs_setup_cifs_sb(struct cifs_sb_info *cifs_sb); 239 int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx); [all …]
|
| H A D | reparse.h | 31 static inline kuid_t wsl_make_kuid(struct cifs_sb_info *cifs_sb, in wsl_make_kuid() argument 36 if (cifs_sb_flags(cifs_sb) & CIFS_MOUNT_OVERR_UID) in wsl_make_kuid() 37 return cifs_sb->ctx->linux_uid; in wsl_make_kuid() 41 static inline kgid_t wsl_make_kgid(struct cifs_sb_info *cifs_sb, in wsl_make_kgid() argument 46 if (cifs_sb_flags(cifs_sb) & CIFS_MOUNT_OVERR_GID) in wsl_make_kgid() 47 return cifs_sb->ctx->linux_gid; in wsl_make_kgid() 130 bool cifs_reparse_point_to_fattr(struct cifs_sb_info *cifs_sb,
|
| H A D | connect.c | 2920 struct cifs_sb_info *new = mnt_data->cifs_sb; in compare_mount_options() 2976 struct cifs_sb_info *new = mnt_data->cifs_sb; in match_prepath() 2999 struct cifs_sb_info *cifs_sb; in cifs_match_super() local 3007 cifs_sb = CIFS_SB(sb); in cifs_match_super() 3010 if (cifs_forced_shutdown(cifs_sb)) { in cifs_match_super() 3015 tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_match_super() 3472 int cifs_setup_cifs_sb(struct cifs_sb_info *cifs_sb) in cifs_setup_cifs_sb() argument 3474 struct smb3_fs_context *ctx = cifs_sb->ctx; in cifs_setup_cifs_sb() 3478 INIT_DELAYED_WORK(&cifs_sb->prune_tlinks, cifs_prune_tlinks); in cifs_setup_cifs_sb() 3479 INIT_LIST_HEAD(&cifs_sb->tcon_sb_link); in cifs_setup_cifs_sb() [all …]
|
| H A D | cifsacl.c | 339 sid_to_id(struct cifs_sb_info *cifs_sb, struct smb_sid *psid, in sid_to_id() argument 345 kuid_t fuid = cifs_sb->ctx->linux_uid; in sid_to_id() 346 kgid_t fgid = cifs_sb->ctx->linux_gid; in sid_to_id() 359 if ((cifs_sb_flags(cifs_sb) & CIFS_MOUNT_UID_FROM_ACL) || in sid_to_id() 360 (cifs_sb_master_tcon(cifs_sb)->posix_extensions)) { in sid_to_id() 1219 static int parse_sec_desc(struct cifs_sb_info *cifs_sb, in parse_sec_desc() argument 1248 rc = sid_to_id(cifs_sb, owner_sid_ptr, fattr, SIDOWNER); in parse_sec_desc() 1261 rc = sid_to_id(cifs_sb, group_sid_ptr, fattr, SIDGROUP); in parse_sec_desc() 1412 struct smb_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb, in get_cifs_acl_by_fid() argument 1419 struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); in get_cifs_acl_by_fid() [all …]
|
| H A D | fs_context.h | 346 static inline enum cifs_symlink_type cifs_symlink_type(struct cifs_sb_info *cifs_sb) in cifs_symlink_type() argument 348 bool posix = cifs_sb_master_tcon(cifs_sb)->posix_extensions; in cifs_symlink_type() 350 if (cifs_sb->ctx->symlink_type != CIFS_SYMLINK_TYPE_DEFAULT) in cifs_symlink_type() 351 return cifs_sb->ctx->symlink_type; in cifs_symlink_type() 353 if (cifs_sb->ctx->mfsymlinks) in cifs_symlink_type() 355 else if (cifs_sb->ctx->sfu_emul) in cifs_symlink_type() 357 else if (cifs_sb->ctx->linux_ext && !cifs_sb->ctx->no_linux_ext) in cifs_symlink_type() 359 else if (cifs_sb->ctx->reparse_type != CIFS_REPARSE_TYPE_NONE) in cifs_symlink_type() 375 int smb3_sync_session_ctx_passwords(struct cifs_sb_info *cifs_sb, 377 unsigned int smb3_update_mnt_flags(struct cifs_sb_info *cifs_sb);
|
| H A D | xattr.c | 102 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_xattr_set() local 108 tlink = cifs_sb_tlink(cifs_sb); in cifs_xattr_set() 152 if (cifs_sb_flags(cifs_sb) & CIFS_MOUNT_NO_XATTR) in cifs_xattr_set() 158 cifs_sb->local_nls, cifs_sb); in cifs_xattr_set() 278 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_xattr_get() local 284 tlink = cifs_sb_tlink(cifs_sb); in cifs_xattr_get() 312 if (cifs_sb_flags(cifs_sb) & CIFS_MOUNT_NO_XATTR) in cifs_xattr_get() 317 full_path, name, value, size, cifs_sb); in cifs_xattr_get() 353 pacl = pTcon->ses->server->ops->get_acl(cifs_sb, in cifs_xattr_get() 392 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in cifs_listxattr() local [all …]
|
| H A D | dfs.c | 103 struct cifs_sb_info *cifs_sb = rw->mnt_ctx->cifs_sb; in setup_dfs_ref() local 111 full_path = smb3_fs_context_fullpath(ctx, CIFS_DIR_SEP(cifs_sb)); in setup_dfs_ref() 117 ref_path = dfs_get_path(cifs_sb, ctx->UNC); in setup_dfs_ref() 119 ref_path = dfs_get_path(cifs_sb, full_path); in setup_dfs_ref() 203 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in __dfs_mount_share() local 210 origin_fullpath = dfs_get_path(cifs_sb, ctx->source); in __dfs_mount_share() 338 struct cifs_sb_info *cifs_sb, in tree_connect_dfs_target() argument 375 if (islink && !rc && cifs_sb) in tree_connect_dfs_target() 376 rc = cifs_update_super_prepath(cifs_sb, prefix); in tree_connect_dfs_target() 392 struct cifs_sb_info *cifs_sb = NULL; in cifs_tree_connect() local [all …]
|
| H A D | cached_dir.c | 75 path_to_dentry(struct cifs_sb_info *cifs_sb, const char *path) in path_to_dentry() argument 81 sep = CIFS_DIR_SEP(cifs_sb); in path_to_dentry() 82 dentry = dget(cifs_sb->root); in path_to_dentry() 113 static const char *path_no_prefix(struct cifs_sb_info *cifs_sb, in path_no_prefix() argument 121 if ((cifs_sb_flags(cifs_sb) & CIFS_MOUNT_USE_PREFIX_PATH) && in path_no_prefix() 122 cifs_sb->prepath) { in path_no_prefix() 123 len = strlen(cifs_sb->prepath) + 1; in path_no_prefix() 136 struct cifs_sb_info *cifs_sb, in open_cached_dir() argument 160 if (cifs_sb->root == NULL) in open_cached_dir() 181 utf16_path = cifs_convert_path_to_utf16(path, cifs_sb); in open_cached_dir() [all …]
|
| H A D | fs_context.c | 1018 #define STEAL_STRING(cifs_sb, ctx, field) \ argument 1021 ctx->field = cifs_sb->ctx->field; \ 1022 cifs_sb->ctx->field = NULL; \ 1025 #define STEAL_STRING_SENSITIVE(cifs_sb, ctx, field) \ argument 1028 ctx->field = cifs_sb->ctx->field; \ 1029 cifs_sb->ctx->field = NULL; \ 1032 int smb3_sync_session_ctx_passwords(struct cifs_sb_info *cifs_sb, struct cifs_ses *ses) in smb3_sync_session_ctx_passwords() argument 1035 cifs_sb->ctx->password && in smb3_sync_session_ctx_passwords() 1036 strcmp(ses->password, cifs_sb->ctx->password)) { in smb3_sync_session_ctx_passwords() 1037 kfree_sensitive(cifs_sb->ctx->password); in smb3_sync_session_ctx_passwords() [all …]
|
| H A D | ioctl.c | 29 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl_query_info() local 30 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in cifs_ioctl_query_info() 49 utf16_path = cifs_convert_path_to_utf16(path + 1, cifs_sb); in cifs_ioctl_query_info() 58 xid, tcon, cifs_sb, utf16_path, in cifs_ioctl_query_info() 357 struct cifs_sb_info *cifs_sb; in cifs_ioctl() local 458 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() 459 tlink = cifs_sb_tlink(cifs_sb); in cifs_ioctl() 492 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() 493 tlink = cifs_sb_tlink(cifs_sb); in cifs_ioctl() 530 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() [all …]
|
| H A D | dfs.h | 159 static inline char *dfs_get_path(struct cifs_sb_info *cifs_sb, const char *path) in dfs_get_path() argument 161 return dfs_cache_canonical_path(path, cifs_sb->local_nls, cifs_remap(cifs_sb)); in dfs_get_path() 169 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in dfs_get_referral() local 172 return dfs_cache_find(mnt_ctx->xid, rses, cifs_sb->local_nls, in dfs_get_referral() 173 cifs_remap(cifs_sb), path, NULL, tl); in dfs_get_referral()
|
| H A D | file.c | 55 struct cifs_sb_info *cifs_sb = CIFS_SB(wdata->rreq->inode->i_sb); in cifs_prepare_write() local 67 if (cifs_sb->ctx->wsize == 0) in cifs_prepare_write() 68 cifs_negotiate_wsize(server, cifs_sb->ctx, in cifs_prepare_write() 160 struct cifs_sb_info *cifs_sb = CIFS_SB(rreq->inode->i_sb); in cifs_prepare_read() local 172 if (cifs_sb->ctx->rsize == 0) in cifs_prepare_read() 173 cifs_negotiate_rsize(server, cifs_sb->ctx, in cifs_prepare_read() 176 rc = server->ops->wait_mtu_credits(server, cifs_sb->ctx->rsize, in cifs_prepare_read() 273 struct cifs_sb_info *cifs_sb = CIFS_SB(rreq->inode); in cifs_init_request() local 276 rreq->rsize = cifs_sb->ctx->rsize; in cifs_init_request() 277 rreq->wsize = cifs_sb->ctx->wsize; in cifs_init_request() [all …]
|
| H A D | smb2file.c | 66 int smb2_fix_symlink_target_type(char **target, bool directory, struct cifs_sb_info *cifs_sb) in smb2_fix_symlink_target_type() argument 75 if (cifs_sb_flags(cifs_sb) & CIFS_MOUNT_POSIX_PATHS) in smb2_fix_symlink_target_type() 112 int smb2_parse_symlink_response(struct cifs_sb_info *cifs_sb, const struct kvec *iov, in smb2_parse_symlink_response() argument 119 if (!cifs_sb || !iov || !iov->iov_base || !iov->iov_len || !path) in smb2_parse_symlink_response() 140 cifs_sb); in smb2_parse_symlink_response() 158 smb2_path = cifs_convert_path_to_utf16(oparms->path, oparms->cifs_sb); in smb2_open_file() 194 rc = smb2_parse_symlink_response(oparms->cifs_sb, &err_iov, in smb2_open_file() 207 directory, oparms->cifs_sb); in smb2_open_file()
|
| H A D | cifsglob.h | 403 struct cifs_sb_info *cifs_sb, 412 struct cifs_sb_info *cifs_sb, 418 struct cifs_sb_info *cifs_sb, const char *full_path, u64 *uniqueid, 440 struct cifs_sb_info *cifs_sb); 462 struct cifs_sb_info *cifs_sb); 468 struct cifs_sb_info *cifs_sb); 472 struct cifs_sb_info *cifs_sb, 609 struct cifs_sb_info *cifs_sb, 672 struct cifs_sb_info *cifs_sb; member 1320 struct tcon_link *cifs_sb_tlink(struct cifs_sb_info *cifs_sb); [all …]
|
| H A D | namespace.c | 122 struct cifs_sb_info *cifs_sb = CIFS_SB(dentry->d_sb); in is_dfs_mount() local 123 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in is_dfs_mount() 135 struct cifs_sb_info *cifs_sb = CIFS_SB(dentry->d_sb); in automount_fullpath() local 136 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in automount_fullpath()
|