/linux/fs/smb/client/ |
H A D | cifsfs.c | 190 struct cifs_sb_info *cifs_sb; in cifs_read_super() local 195 cifs_sb = CIFS_SB(sb); in cifs_read_super() 196 tcon = cifs_sb_master_tcon(cifs_sb); in cifs_read_super() 198 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIXACL) in cifs_read_super() 245 if (cifs_sb->ctx->rsize == 0) in cifs_read_super() 246 cifs_sb->ctx->rsize = in cifs_read_super() 247 tcon->ses->server->ops->negotiate_rsize(tcon, cifs_sb->ctx); in cifs_read_super() 248 if (cifs_sb->ctx->rasize) in cifs_read_super() 249 sb->s_bdi->ra_pages = cifs_sb->ctx->rasize / PAGE_SIZE; in cifs_read_super() 251 sb->s_bdi->ra_pages = 2 * (cifs_sb->ctx->rsize / PAGE_SIZE); in cifs_read_super() [all …]
|
H A D | link.c | 161 struct cifs_sb_info *cifs_sb, const char *fromName, in create_mf_symlink() argument 178 cifs_sb, fromName, buf, &bytes_written); in create_mf_symlink() 194 struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, in check_mf_symlink() argument 213 cifs_sb, path, buf, &bytes_read); in check_mf_symlink() 251 struct cifs_sb_info *cifs_sb, const unsigned char *path, in cifs_query_mf_symlink() argument 264 .cifs_sb = cifs_sb, in cifs_query_mf_symlink() 266 .create_options = cifs_create_options(cifs_sb, CREATE_NOT_DIR), in cifs_query_mf_symlink() 296 struct cifs_sb_info *cifs_sb, const unsigned char *path, in cifs_create_mf_symlink() argument 307 .cifs_sb = cifs_sb, in cifs_create_mf_symlink() 309 .create_options = cifs_create_options(cifs_sb, CREATE_NOT_DIR), in cifs_create_mf_symlink() [all …]
|
H A D | fs_context.c | 879 #define STEAL_STRING(cifs_sb, ctx, field) \ argument 882 ctx->field = cifs_sb->ctx->field; \ 883 cifs_sb->ctx->field = NULL; \ 886 #define STEAL_STRING_SENSITIVE(cifs_sb, ctx, field) \ argument 889 ctx->field = cifs_sb->ctx->field; \ 890 cifs_sb->ctx->field = NULL; \ 897 struct cifs_sb_info *cifs_sb = CIFS_SB(root->d_sb); in smb3_reconfigure() local 898 struct cifs_ses *ses = cifs_sb_master_tcon(cifs_sb)->ses; in smb3_reconfigure() 905 rc = smb3_verify_reconfigure_ctx(fc, ctx, cifs_sb->ctx, need_recon); in smb3_reconfigure() 915 STEAL_STRING(cifs_sb, ctx, UNC); in smb3_reconfigure() [all …]
|
H A D | dfs.c | 103 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in setup_dfs_ref() local 107 full_path = smb3_fs_context_fullpath(ctx, CIFS_DIR_SEP(cifs_sb)); in setup_dfs_ref() 113 ref_path = dfs_get_path(cifs_sb, ctx->UNC); in setup_dfs_ref() 115 ref_path = dfs_get_path(cifs_sb, full_path); in setup_dfs_ref() 213 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in __dfs_mount_share() local 220 origin_fullpath = dfs_get_path(cifs_sb, ctx->source); in __dfs_mount_share() 325 static int update_server_fullpath(struct TCP_Server_Info *server, struct cifs_sb_info *cifs_sb, in update_server_fullpath() argument 351 npath = dfs_cache_canonical_path(refpath, cifs_sb->local_nls, cifs_remap(cifs_sb)); in update_server_fullpath() 392 struct cifs_sb_info *cifs_sb, in __tree_connect_ipc() argument 417 cifs_sb->local_nls); in __tree_connect_ipc() [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() 87 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in __build_path_from_dentry_optional_prefix() local 88 char dirsep = CIFS_DIR_SEP(cifs_sb); in __build_path_from_dentry_optional_prefix() 99 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) in __build_path_from_dentry_optional_prefix() 100 pplen = cifs_sb->prepath ? strlen(cifs_sb->prepath) + 1 : 0; in __build_path_from_dentry_optional_prefix() 110 cifs_dbg(FYI, "using cifs_sb prepath <%s>\n", cifs_sb->prepath); in __build_path_from_dentry_optional_prefix() [all …]
|
H A D | reparse.h | 28 static inline kuid_t wsl_make_kuid(struct cifs_sb_info *cifs_sb, in wsl_make_kuid() argument 33 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID) in wsl_make_kuid() 34 return cifs_sb->ctx->linux_uid; in wsl_make_kuid() 38 static inline kgid_t wsl_make_kgid(struct cifs_sb_info *cifs_sb, in wsl_make_kgid() argument 43 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID) in wsl_make_kgid() 44 return cifs_sb->ctx->linux_gid; in wsl_make_kgid() 109 bool cifs_reparse_point_to_fattr(struct cifs_sb_info *cifs_sb, 118 int smb2_parse_reparse_point(struct cifs_sb_info *cifs_sb, struct kvec *rsp_iov,
|
H A D | smb2inode.c | 173 struct cifs_sb_info *cifs_sb, const char *full_path, in smb2_compound_op() argument 225 utf16_path = cifs_convert_path_to_utf16(full_path, cifs_sb); in smb2_compound_op() 830 struct cifs_sb_info *cifs_sb, in parse_create_response() argument 843 rc = smb2_parse_symlink_response(cifs_sb, iov, in parse_create_response() 861 struct cifs_sb_info *cifs_sb, in smb2_query_path_info() argument 891 cifs_sb, false, &cfid); in smb2_query_path_info() 918 oparms = CIFS_OPARMS(cifs_sb, tcon, full_path, FILE_READ_ATTRIBUTES, in smb2_query_path_info() 920 rc = smb2_compound_op(xid, tcon, cifs_sb, full_path, in smb2_query_path_info() 933 rc = parse_create_response(data, cifs_sb, &out_iov[0]); in smb2_query_path_info() 940 rc = parse_create_response(data, cifs_sb, &out_iov[0]); in smb2_query_path_info() [all …]
|
H A D | reparse.c | 17 static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb, 29 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in smb2_create_reparse_symlink() local 34 char *sym, sep = CIFS_DIR_SEP(cifs_sb); in smb2_create_reparse_symlink() 49 path = cifs_convert_path_to_utf16(sym, cifs_sb); in smb2_create_reparse_symlink() 63 rc = detect_directory_symlink_target(cifs_sb, xid, full_path, symname, &directory); in smb2_create_reparse_symlink() 104 static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb, in detect_directory_symlink_target() argument 110 char sep = CIFS_DIR_SEP(cifs_sb); in detect_directory_symlink_target() 159 tlink = cifs_sb_tlink(cifs_sb); in detect_directory_symlink_target() 184 oparms = CIFS_OPARMS(cifs_sb, tcon, resolved_path, in detect_directory_symlink_target() 190 oparms.create_options = cifs_create_options(cifs_sb, in detect_directory_symlink_target() [all …]
|
H A D | smb2proto.h | 30 struct cifs_sb_info *cifs_sb); 57 struct cifs_sb_info *cifs_sb, const char *path, 69 struct cifs_sb_info *cifs_sb, 75 struct cifs_sb_info *cifs_sb, 80 struct cifs_sb_info *cifs_sb, bool set_alloc, 87 struct cifs_sb_info *cifs_sb); 90 const char *name, struct cifs_sb_info *cifs_sb); 92 struct cifs_sb_info *cifs_sb, 95 const char *name, struct cifs_sb_info *cifs_sb); 97 const char *name, struct cifs_sb_info *cifs_sb, [all …]
|
H A D | connect.c | 2779 struct cifs_sb_info *new = mnt_data->cifs_sb; in compare_mount_options() 2831 struct cifs_sb_info *new = mnt_data->cifs_sb; in match_prepath() 2854 struct cifs_sb_info *cifs_sb; in cifs_match_super() local 2862 cifs_sb = CIFS_SB(sb); in cifs_match_super() 2865 if (CIFS_MOUNT_SHUTDOWN & cifs_sb->mnt_cifs_flags) { in cifs_match_super() 2870 tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_match_super() 3180 struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx) in reset_cifs_unix_caps() argument 3241 if (cifs_sb) in reset_cifs_unix_caps() 3242 cifs_sb->mnt_cifs_flags |= in reset_cifs_unix_caps() 3250 if (cifs_sb) in reset_cifs_unix_caps() [all …]
|
H A D | xattr.c | 100 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_xattr_set() local 106 tlink = cifs_sb_tlink(cifs_sb); in cifs_xattr_set() 150 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) in cifs_xattr_set() 156 cifs_sb->local_nls, cifs_sb); in cifs_xattr_set() 268 struct cifs_sb_info *cifs_sb = CIFS_SB(sb); in cifs_xattr_get() local 274 tlink = cifs_sb_tlink(cifs_sb); in cifs_xattr_get() 302 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) in cifs_xattr_get() 307 full_path, name, value, size, cifs_sb); in cifs_xattr_get() 328 pacl = pTcon->ses->server->ops->get_acl(cifs_sb, in cifs_xattr_get() 367 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in cifs_listxattr() local [all …]
|
H A D | cifsproto.h | 78 struct cifs_sb_info *cifs_sb, 204 struct cifs_sb_info *cifs_sb); 228 extern int sid_to_id(struct cifs_sb_info *cifs_sb, struct smb_sid *psid, 230 extern int cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, 258 extern int cifs_setup_cifs_sb(struct cifs_sb_info *cifs_sb); 264 extern int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx); 334 const char *searchName, struct cifs_sb_info *cifs_sb, 376 struct cifs_sb_info *cifs_sb, 395 struct cifs_sb_info *cifs_sb); 405 struct cifs_sb_info *cifs_sb, bool set_allocation, [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 346 kuid_t fuid = cifs_sb->ctx->linux_uid; in sid_to_id() 347 kgid_t fgid = cifs_sb->ctx->linux_gid; in sid_to_id() 359 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UID_FROM_ACL) || in sid_to_id() 360 (cifs_sb_master_tcon(cifs_sb)->posix_extensions)) { in sid_to_id() 1193 static int parse_sec_desc(struct cifs_sb_info *cifs_sb, in parse_sec_desc() argument 1222 rc = sid_to_id(cifs_sb, owner_sid_ptr, fattr, SIDOWNER); in parse_sec_desc() 1235 rc = sid_to_id(cifs_sb, group_sid_ptr, fattr, SIDGROUP); in parse_sec_desc() 1388 struct smb_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb, in get_cifs_acl_by_fid() argument 1395 struct tcon_link *tlink = cifs_sb_tlink(cifs_sb); in get_cifs_acl_by_fid() [all …]
|
H A D | cached_dir.c | 67 path_to_dentry(struct cifs_sb_info *cifs_sb, const char *path) in path_to_dentry() argument 73 sep = CIFS_DIR_SEP(cifs_sb); in path_to_dentry() 74 dentry = dget(cifs_sb->root); in path_to_dentry() 104 static const char *path_no_prefix(struct cifs_sb_info *cifs_sb, in path_no_prefix() argument 112 if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) && in path_no_prefix() 113 cifs_sb->prepath) { in path_no_prefix() 114 len = strlen(cifs_sb->prepath) + 1; in path_no_prefix() 127 struct cifs_sb_info *cifs_sb, in open_cached_dir() argument 157 if (cifs_sb->root == NULL) in open_cached_dir() 169 utf16_path = cifs_convert_path_to_utf16(path, cifs_sb); in open_cached_dir() [all …]
|
H A D | dfs.h | 143 static inline char *dfs_get_path(struct cifs_sb_info *cifs_sb, const char *path) in dfs_get_path() argument 145 return dfs_cache_canonical_path(path, cifs_sb->local_nls, cifs_remap(cifs_sb)); in dfs_get_path() 152 struct cifs_sb_info *cifs_sb = mnt_ctx->cifs_sb; in dfs_get_referral() local 155 return dfs_cache_find(mnt_ctx->xid, rses, cifs_sb->local_nls, in dfs_get_referral() 156 cifs_remap(cifs_sb), path, ref, tl); in dfs_get_referral()
|
H A D | ioctl.c | 30 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl_query_info() local 31 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in cifs_ioctl_query_info() 50 utf16_path = cifs_convert_path_to_utf16(path + 1, cifs_sb); in cifs_ioctl_query_info() 59 xid, tcon, cifs_sb, utf16_path, in cifs_ioctl_query_info() 361 struct cifs_sb_info *cifs_sb; in cifs_ioctl() local 462 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() 463 tlink = cifs_sb_tlink(cifs_sb); in cifs_ioctl() 496 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() 497 tlink = cifs_sb_tlink(cifs_sb); in cifs_ioctl() 534 cifs_sb = CIFS_SB(inode->i_sb); in cifs_ioctl() [all …]
|
H A D | cached_dir.h | 67 struct cifs_sb_info *cifs_sb, 76 struct cifs_sb_info *cifs_sb); 77 extern void close_all_cached_dirs(struct cifs_sb_info *cifs_sb);
|
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()
|
H A D | smb2file.c | 66 int smb2_parse_symlink_response(struct cifs_sb_info *cifs_sb, const struct kvec *iov, char **path) in smb2_parse_symlink_response() argument 73 if (!cifs_sb || !iov || !iov->iov_base || !iov->iov_len || !path) in smb2_parse_symlink_response() 90 cifs_sb->local_nls); in smb2_parse_symlink_response() 113 smb2_path = cifs_convert_path_to_utf16(oparms->path, oparms->cifs_sb); in smb2_open_file() 128 rc = smb2_parse_symlink_response(oparms->cifs_sb, &err_iov, in smb2_open_file()
|
H A D | smb2ops.c | 843 struct cifs_sb_info *cifs_sb) in smb3_qfs_tcon() argument 857 .create_options = cifs_create_options(cifs_sb, 0), in smb3_qfs_tcon() 861 rc = open_cached_dir(xid, tcon, "", cifs_sb, false, &cfid); in smb3_qfs_tcon() 888 struct cifs_sb_info *cifs_sb) in smb2_qfs_tcon() argument 901 .create_options = cifs_create_options(cifs_sb, 0), in smb2_qfs_tcon() 919 struct cifs_sb_info *cifs_sb, const char *full_path) in smb2_is_path_accessible() argument 931 rc = open_cached_dir(xid, tcon, full_path, cifs_sb, true, &cfid); in smb2_is_path_accessible() 940 utf16_path = cifs_convert_path_to_utf16(full_path, cifs_sb); in smb2_is_path_accessible() 949 .create_options = cifs_create_options(cifs_sb, 0), in smb2_is_path_accessible() 962 rc2 = cifs_inval_name_dfs_link_error(xid, tcon, cifs_sb, in smb2_is_path_accessible() [all …]
|
H A D | fscache.c | 132 struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); in cifs_fscache_get_inode_cookie() local 133 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in cifs_fscache_get_inode_cookie()
|
H A D | cifs_unicode.c | 15 int cifs_remap(struct cifs_sb_info *cifs_sb) in cifs_remap() argument 19 if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SFM_CHR) in cifs_remap() 21 else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR) in cifs_remap()
|
H A D | cifs_unicode.h | 68 extern int cifs_remap(struct cifs_sb_info *cifs_sb);
|
H A D | dfs_cache.c | 1298 int dfs_cache_remount_fs(struct cifs_sb_info *cifs_sb) in dfs_cache_remount_fs() argument 1302 if (!cifs_sb || !cifs_sb->master_tlink) in dfs_cache_remount_fs() 1305 tcon = cifs_sb_master_tcon(cifs_sb); in dfs_cache_remount_fs() 1319 cifs_autodisable_serverino(cifs_sb); in dfs_cache_remount_fs() 1324 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH; in dfs_cache_remount_fs()
|
H A D | dfs_cache.h | 51 int dfs_cache_remount_fs(struct cifs_sb_info *cifs_sb);
|