Lines Matching refs:cifs_sb
2688 cifs_sb_master_tlink(struct cifs_sb_info *cifs_sb) in cifs_sb_master_tlink() argument
2690 return cifs_sb->master_tlink; in cifs_sb_master_tlink()
2697 struct cifs_sb_info *new = mnt_data->cifs_sb; in compare_mount_options()
2737 struct cifs_sb_info *cifs_sb; in cifs_match_super() local
2745 cifs_sb = CIFS_SB(sb); in cifs_match_super()
2746 tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_match_super()
3075 struct cifs_sb_info *cifs_sb, struct smb_vol *vol_info) in reset_cifs_unix_caps() argument
3129 if (cifs_sb) in reset_cifs_unix_caps()
3130 cifs_sb->mnt_cifs_flags |= in reset_cifs_unix_caps()
3138 if (cifs_sb) in reset_cifs_unix_caps()
3139 cifs_sb->mnt_cifs_flags |= in reset_cifs_unix_caps()
3175 struct cifs_sb_info *cifs_sb) in cifs_setup_cifs_sb() argument
3177 INIT_DELAYED_WORK(&cifs_sb->prune_tlinks, cifs_prune_tlinks); in cifs_setup_cifs_sb()
3179 spin_lock_init(&cifs_sb->tlink_tree_lock); in cifs_setup_cifs_sb()
3180 cifs_sb->tlink_tree = RB_ROOT; in cifs_setup_cifs_sb()
3186 cifs_sb->rsize = pvolume_info->rsize; in cifs_setup_cifs_sb()
3187 cifs_sb->wsize = pvolume_info->wsize; in cifs_setup_cifs_sb()
3189 cifs_sb->mnt_uid = pvolume_info->linux_uid; in cifs_setup_cifs_sb()
3190 cifs_sb->mnt_gid = pvolume_info->linux_gid; in cifs_setup_cifs_sb()
3191 cifs_sb->mnt_file_mode = pvolume_info->file_mode; in cifs_setup_cifs_sb()
3192 cifs_sb->mnt_dir_mode = pvolume_info->dir_mode; in cifs_setup_cifs_sb()
3194 cifs_sb->mnt_file_mode, cifs_sb->mnt_dir_mode); in cifs_setup_cifs_sb()
3196 cifs_sb->actimeo = pvolume_info->actimeo; in cifs_setup_cifs_sb()
3197 cifs_sb->local_nls = pvolume_info->local_nls; in cifs_setup_cifs_sb()
3200 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_PERM; in cifs_setup_cifs_sb()
3202 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_SET_UID; in cifs_setup_cifs_sb()
3204 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_SERVER_INUM; in cifs_setup_cifs_sb()
3206 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_MAP_SFM_CHR; in cifs_setup_cifs_sb()
3208 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_MAP_SPECIAL_CHR; in cifs_setup_cifs_sb()
3210 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_XATTR; in cifs_setup_cifs_sb()
3212 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_UNX_EMUL; in cifs_setup_cifs_sb()
3214 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_BRL; in cifs_setup_cifs_sb()
3216 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NOSSYNC; in cifs_setup_cifs_sb()
3218 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NOPOSIXBRL; in cifs_setup_cifs_sb()
3220 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_RWPIDFORWARD; in cifs_setup_cifs_sb()
3222 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CIFS_ACL; in cifs_setup_cifs_sb()
3224 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CIFS_BACKUPUID; in cifs_setup_cifs_sb()
3225 cifs_sb->mnt_backupuid = pvolume_info->backupuid; in cifs_setup_cifs_sb()
3228 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CIFS_BACKUPGID; in cifs_setup_cifs_sb()
3229 cifs_sb->mnt_backupgid = pvolume_info->backupgid; in cifs_setup_cifs_sb()
3232 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_OVERR_UID; in cifs_setup_cifs_sb()
3234 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_OVERR_GID; in cifs_setup_cifs_sb()
3236 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DYNPERM; in cifs_setup_cifs_sb()
3238 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_FSCACHE; in cifs_setup_cifs_sb()
3240 cifs_sb->mnt_cifs_flags |= (CIFS_MOUNT_MULTIUSER | in cifs_setup_cifs_sb()
3243 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_STRICT_IO; in cifs_setup_cifs_sb()
3246 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DIRECT_IO; in cifs_setup_cifs_sb()
3263 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_MF_SYMLINKS; in cifs_setup_cifs_sb()
3298 const struct cifs_sb_info *cifs_sb) in build_unc_path_to_root() argument
3312 *pos = CIFS_DIR_SEP(cifs_sb); in build_unc_path_to_root()
3318 convert_delimiter(full_path, CIFS_DIR_SEP(cifs_sb)); in build_unc_path_to_root()
3335 struct smb_vol *volume_info, struct cifs_sb_info *cifs_sb, in expand_dfs_referral() argument
3343 full_path = build_unc_path_to_root(volume_info, cifs_sb); in expand_dfs_referral()
3350 rc = get_dfs_path(xid, ses, ref_path, cifs_sb->local_nls, in expand_dfs_referral()
3351 &num_referrals, &referrals, cifs_remap(cifs_sb)); in expand_dfs_referral()
3356 mdata = cifs_compose_mount_options(cifs_sb->mountdata, in expand_dfs_referral()
3371 kfree(cifs_sb->mountdata); in expand_dfs_referral()
3372 cifs_sb->mountdata = mdata; in expand_dfs_referral()
3438 cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *volume_info) in cifs_mount() argument
3451 rc = bdi_setup_and_register(&cifs_sb->bdi, "cifs"); in cifs_mount()
3480 bdi_destroy(&cifs_sb->bdi); in cifs_mount()
3504 reset_cifs_unix_caps(xid, tcon, cifs_sb, volume_info); in cifs_mount()
3518 cifs_sb->wsize = server->ops->negotiate_wsize(tcon, volume_info); in cifs_mount()
3519 cifs_sb->rsize = server->ops->negotiate_rsize(tcon, volume_info); in cifs_mount()
3522 cifs_sb->bdi.ra_pages = cifs_sb->rsize / PAGE_CACHE_SIZE; in cifs_mount()
3534 int refrc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, in cifs_mount()
3552 full_path = cifs_build_path_to_root(volume_info, cifs_sb, tcon); in cifs_mount()
3557 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, in cifs_mount()
3580 rc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, true); in cifs_mount()
3608 cifs_sb->master_tlink = tlink; in cifs_mount()
3609 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_mount()
3610 tlink_rb_insert(&cifs_sb->tlink_tree, tlink); in cifs_mount()
3611 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_mount()
3613 queue_delayed_work(cifsiod_wq, &cifs_sb->prune_tlinks, in cifs_mount()
3627 bdi_destroy(&cifs_sb->bdi); in cifs_mount()
3809 cifs_umount(struct cifs_sb_info *cifs_sb) in cifs_umount() argument
3811 struct rb_root *root = &cifs_sb->tlink_tree; in cifs_umount()
3815 cancel_delayed_work_sync(&cifs_sb->prune_tlinks); in cifs_umount()
3817 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_umount()
3824 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_umount()
3826 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_umount()
3828 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_umount()
3830 bdi_destroy(&cifs_sb->bdi); in cifs_umount()
3831 kfree(cifs_sb->mountdata); in cifs_umount()
3832 call_rcu(&cifs_sb->rcu, delayed_free); in cifs_umount()
3899 cifs_construct_tcon(struct cifs_sb_info *cifs_sb, kuid_t fsuid) in cifs_construct_tcon() argument
3902 struct cifs_tcon *master_tcon = cifs_sb_master_tcon(cifs_sb); in cifs_construct_tcon()
3911 vol_info->local_nls = cifs_sb->local_nls; in cifs_construct_tcon()
3957 cifs_sb_master_tcon(struct cifs_sb_info *cifs_sb) in cifs_sb_master_tcon() argument
3959 return tlink_tcon(cifs_sb_master_tlink(cifs_sb)); in cifs_sb_master_tcon()
4020 cifs_sb_tlink(struct cifs_sb_info *cifs_sb) in cifs_sb_tlink() argument
4026 if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MULTIUSER)) in cifs_sb_tlink()
4027 return cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_sb_tlink()
4029 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4030 tlink = tlink_rb_search(&cifs_sb->tlink_tree, fsuid); in cifs_sb_tlink()
4033 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4045 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4047 tlink = tlink_rb_search(&cifs_sb->tlink_tree, fsuid); in cifs_sb_tlink()
4050 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4055 tlink_rb_insert(&cifs_sb->tlink_tree, tlink); in cifs_sb_tlink()
4056 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4080 tlink->tl_tcon = cifs_construct_tcon(cifs_sb, fsuid); in cifs_sb_tlink()
4099 struct cifs_sb_info *cifs_sb = container_of(work, struct cifs_sb_info, in cifs_prune_tlinks() local
4101 struct rb_root *root = &cifs_sb->tlink_tree; in cifs_prune_tlinks()
4113 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4129 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4131 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4133 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4135 queue_delayed_work(cifsiod_wq, &cifs_sb->prune_tlinks, in cifs_prune_tlinks()