Lines Matching refs:cifs_sb

3170 	struct cifs_sb_info *new = mnt_data->cifs_sb;  in compare_mount_options()
3209 struct cifs_sb_info *new = mnt_data->cifs_sb; in match_prepath()
3226 struct cifs_sb_info *cifs_sb; in cifs_match_super() local
3234 cifs_sb = CIFS_SB(sb); in cifs_match_super()
3235 tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_match_super()
3542 struct cifs_sb_info *cifs_sb, struct smb_vol *vol_info) in reset_cifs_unix_caps() argument
3596 if (cifs_sb) in reset_cifs_unix_caps()
3597 cifs_sb->mnt_cifs_flags |= in reset_cifs_unix_caps()
3605 if (cifs_sb) in reset_cifs_unix_caps()
3606 cifs_sb->mnt_cifs_flags |= in reset_cifs_unix_caps()
3642 struct cifs_sb_info *cifs_sb) in cifs_setup_cifs_sb() argument
3644 INIT_DELAYED_WORK(&cifs_sb->prune_tlinks, cifs_prune_tlinks); in cifs_setup_cifs_sb()
3646 spin_lock_init(&cifs_sb->tlink_tree_lock); in cifs_setup_cifs_sb()
3647 cifs_sb->tlink_tree = RB_ROOT; in cifs_setup_cifs_sb()
3653 cifs_sb->rsize = pvolume_info->rsize; in cifs_setup_cifs_sb()
3654 cifs_sb->wsize = pvolume_info->wsize; in cifs_setup_cifs_sb()
3656 cifs_sb->mnt_uid = pvolume_info->linux_uid; in cifs_setup_cifs_sb()
3657 cifs_sb->mnt_gid = pvolume_info->linux_gid; in cifs_setup_cifs_sb()
3658 cifs_sb->mnt_file_mode = pvolume_info->file_mode; in cifs_setup_cifs_sb()
3659 cifs_sb->mnt_dir_mode = pvolume_info->dir_mode; in cifs_setup_cifs_sb()
3661 cifs_sb->mnt_file_mode, cifs_sb->mnt_dir_mode); in cifs_setup_cifs_sb()
3663 cifs_sb->actimeo = pvolume_info->actimeo; in cifs_setup_cifs_sb()
3664 cifs_sb->local_nls = pvolume_info->local_nls; in cifs_setup_cifs_sb()
3667 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_PERM; in cifs_setup_cifs_sb()
3669 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_SET_UID; in cifs_setup_cifs_sb()
3671 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_UID_FROM_ACL; in cifs_setup_cifs_sb()
3673 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_SERVER_INUM; in cifs_setup_cifs_sb()
3675 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_MAP_SFM_CHR; in cifs_setup_cifs_sb()
3677 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_MAP_SPECIAL_CHR; in cifs_setup_cifs_sb()
3679 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_XATTR; in cifs_setup_cifs_sb()
3681 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_UNX_EMUL; in cifs_setup_cifs_sb()
3683 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_BRL; in cifs_setup_cifs_sb()
3685 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NO_HANDLE_CACHE; in cifs_setup_cifs_sb()
3687 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NOSSYNC; in cifs_setup_cifs_sb()
3689 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_NOPOSIXBRL; in cifs_setup_cifs_sb()
3691 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_RWPIDFORWARD; in cifs_setup_cifs_sb()
3693 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CIFS_ACL; in cifs_setup_cifs_sb()
3695 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CIFS_BACKUPUID; in cifs_setup_cifs_sb()
3696 cifs_sb->mnt_backupuid = pvolume_info->backupuid; in cifs_setup_cifs_sb()
3699 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_CIFS_BACKUPGID; in cifs_setup_cifs_sb()
3700 cifs_sb->mnt_backupgid = pvolume_info->backupgid; in cifs_setup_cifs_sb()
3703 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_OVERR_UID; in cifs_setup_cifs_sb()
3705 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_OVERR_GID; in cifs_setup_cifs_sb()
3707 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DYNPERM; in cifs_setup_cifs_sb()
3709 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_FSCACHE; in cifs_setup_cifs_sb()
3711 cifs_sb->mnt_cifs_flags |= (CIFS_MOUNT_MULTIUSER | in cifs_setup_cifs_sb()
3714 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_STRICT_IO; in cifs_setup_cifs_sb()
3717 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_DIRECT_IO; in cifs_setup_cifs_sb()
3734 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_MF_SYMLINKS; in cifs_setup_cifs_sb()
3741 cifs_sb->prepath = kstrdup(pvolume_info->prepath, GFP_KERNEL); in cifs_setup_cifs_sb()
3742 if (cifs_sb->prepath == NULL) in cifs_setup_cifs_sb()
3777 const struct cifs_sb_info *cifs_sb) in build_unc_path_to_root() argument
3791 *pos = CIFS_DIR_SEP(cifs_sb); in build_unc_path_to_root()
3797 convert_delimiter(full_path, CIFS_DIR_SEP(cifs_sb)); in build_unc_path_to_root()
3814 struct smb_vol *volume_info, struct cifs_sb_info *cifs_sb, in expand_dfs_referral() argument
3822 full_path = build_unc_path_to_root(volume_info, cifs_sb); in expand_dfs_referral()
3829 rc = get_dfs_path(xid, ses, ref_path, cifs_sb->local_nls, in expand_dfs_referral()
3830 &num_referrals, &referrals, cifs_remap(cifs_sb)); in expand_dfs_referral()
3835 mdata = cifs_compose_mount_options(cifs_sb->mountdata, in expand_dfs_referral()
3850 kfree(cifs_sb->mountdata); in expand_dfs_referral()
3851 cifs_sb->mountdata = mdata; in expand_dfs_referral()
3920 struct cifs_sb_info *cifs_sb, in cifs_are_all_path_components_accessible() argument
3927 sep = CIFS_DIR_SEP(cifs_sb); in cifs_are_all_path_components_accessible()
3930 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, ""); in cifs_are_all_path_components_accessible()
3947 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, in cifs_are_all_path_components_accessible()
3955 cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *volume_info) in cifs_mount() argument
3977 cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_POSIX_PATHS; in cifs_mount()
4030 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_POSIX_PATHS; in cifs_mount()
4036 reset_cifs_unix_caps(xid, tcon, cifs_sb, volume_info); in cifs_mount()
4050 cifs_sb->wsize = server->ops->negotiate_wsize(tcon, volume_info); in cifs_mount()
4051 cifs_sb->rsize = server->ops->negotiate_rsize(tcon, volume_info); in cifs_mount()
4063 int refrc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, in cifs_mount()
4081 full_path = cifs_build_path_to_root(volume_info, cifs_sb, tcon, in cifs_mount()
4087 rc = server->ops->is_path_accessible(xid, tcon, cifs_sb, in cifs_mount()
4096 xid, tcon, cifs_sb, in cifs_mount()
4101 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH; in cifs_mount()
4122 rc = expand_dfs_referral(xid, ses, volume_info, cifs_sb, true); in cifs_mount()
4150 cifs_sb->master_tlink = tlink; in cifs_mount()
4151 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_mount()
4152 tlink_rb_insert(&cifs_sb->tlink_tree, tlink); in cifs_mount()
4153 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_mount()
4155 queue_delayed_work(cifsiod_wq, &cifs_sb->prune_tlinks, in cifs_mount()
4347 cifs_umount(struct cifs_sb_info *cifs_sb) in cifs_umount() argument
4349 struct rb_root *root = &cifs_sb->tlink_tree; in cifs_umount()
4353 cancel_delayed_work_sync(&cifs_sb->prune_tlinks); in cifs_umount()
4355 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_umount()
4362 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_umount()
4364 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_umount()
4366 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_umount()
4368 kfree(cifs_sb->mountdata); in cifs_umount()
4369 kfree(cifs_sb->prepath); in cifs_umount()
4370 call_rcu(&cifs_sb->rcu, delayed_free); in cifs_umount()
4445 cifs_construct_tcon(struct cifs_sb_info *cifs_sb, kuid_t fsuid) in cifs_construct_tcon() argument
4448 struct cifs_tcon *master_tcon = cifs_sb_master_tcon(cifs_sb); in cifs_construct_tcon()
4457 vol_info->local_nls = cifs_sb->local_nls; in cifs_construct_tcon()
4495 cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_POSIX_PATHS; in cifs_construct_tcon()
4509 cifs_sb_master_tcon(struct cifs_sb_info *cifs_sb) in cifs_sb_master_tcon() argument
4511 return tlink_tcon(cifs_sb_master_tlink(cifs_sb)); in cifs_sb_master_tcon()
4572 cifs_sb_tlink(struct cifs_sb_info *cifs_sb) in cifs_sb_tlink() argument
4578 if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MULTIUSER)) in cifs_sb_tlink()
4579 return cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_sb_tlink()
4581 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4582 tlink = tlink_rb_search(&cifs_sb->tlink_tree, fsuid); in cifs_sb_tlink()
4585 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4597 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4599 tlink = tlink_rb_search(&cifs_sb->tlink_tree, fsuid); in cifs_sb_tlink()
4602 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4607 tlink_rb_insert(&cifs_sb->tlink_tree, tlink); in cifs_sb_tlink()
4608 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_sb_tlink()
4632 tlink->tl_tcon = cifs_construct_tcon(cifs_sb, fsuid); in cifs_sb_tlink()
4651 struct cifs_sb_info *cifs_sb = container_of(work, struct cifs_sb_info, in cifs_prune_tlinks() local
4653 struct rb_root *root = &cifs_sb->tlink_tree; in cifs_prune_tlinks()
4665 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4681 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4683 spin_lock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4685 spin_unlock(&cifs_sb->tlink_tree_lock); in cifs_prune_tlinks()
4687 queue_delayed_work(cifsiod_wq, &cifs_sb->prune_tlinks, in cifs_prune_tlinks()