Lines Matching refs:tlink

2296 cifs_put_tlink(struct tcon_link *tlink)  in cifs_put_tlink()  argument
2298 if (!tlink || IS_ERR(tlink)) in cifs_put_tlink()
2301 if (!atomic_dec_and_test(&tlink->tl_count) || in cifs_put_tlink()
2302 test_bit(TCON_LINK_IN_TREE, &tlink->tl_flags)) { in cifs_put_tlink()
2303 tlink->tl_time = jiffies; in cifs_put_tlink()
2307 if (!IS_ERR(tlink_tcon(tlink))) in cifs_put_tlink()
2308 cifs_put_tcon(tlink_tcon(tlink)); in cifs_put_tlink()
2309 kfree(tlink); in cifs_put_tlink()
2386 struct tcon_link *tlink; in cifs_match_super() local
2391 tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb)); in cifs_match_super()
2392 if (tlink == NULL) { in cifs_match_super()
2397 tcon = tlink_tcon(tlink); in cifs_match_super()
2414 cifs_put_tlink(tlink); in cifs_match_super()
2965 struct tcon_link *tlink; in mount_setup_tlink() local
2968 tlink = kzalloc(sizeof(*tlink), GFP_KERNEL); in mount_setup_tlink()
2969 if (tlink == NULL) in mount_setup_tlink()
2972 tlink->tl_uid = ses->linux_uid; in mount_setup_tlink()
2973 tlink->tl_tcon = tcon; in mount_setup_tlink()
2974 tlink->tl_time = jiffies; in mount_setup_tlink()
2975 set_bit(TCON_LINK_MASTER, &tlink->tl_flags); in mount_setup_tlink()
2976 set_bit(TCON_LINK_IN_TREE, &tlink->tl_flags); in mount_setup_tlink()
2978 cifs_sb->master_tlink = tlink; in mount_setup_tlink()
2980 tlink_rb_insert(&cifs_sb->tlink_tree, tlink); in mount_setup_tlink()
3797 struct tcon_link *tlink; in cifs_umount() local
3803 tlink = rb_entry(node, struct tcon_link, tl_rbnode); in cifs_umount()
3804 cifs_get_tlink(tlink); in cifs_umount()
3805 clear_bit(TCON_LINK_IN_TREE, &tlink->tl_flags); in cifs_umount()
3809 cifs_put_tlink(tlink); in cifs_umount()
3971 struct tcon_link *tlink; in tlink_rb_search() local
3974 tlink = rb_entry(node, struct tcon_link, tl_rbnode); in tlink_rb_search()
3976 if (uid_gt(tlink->tl_uid, uid)) in tlink_rb_search()
3978 else if (uid_lt(tlink->tl_uid, uid)) in tlink_rb_search()
3981 return tlink; in tlink_rb_search()
3991 struct tcon_link *tlink; in tlink_rb_insert() local
3994 tlink = rb_entry(*new, struct tcon_link, tl_rbnode); in tlink_rb_insert()
3997 if (uid_gt(tlink->tl_uid, new_tlink->tl_uid)) in tlink_rb_insert()
4028 struct tcon_link *tlink, *newtlink; in cifs_sb_tlink() local
4034 tlink = tlink_rb_search(&cifs_sb->tlink_tree, fsuid); in cifs_sb_tlink()
4035 if (tlink) in cifs_sb_tlink()
4036 cifs_get_tlink(tlink); in cifs_sb_tlink()
4039 if (tlink == NULL) { in cifs_sb_tlink()
4040 newtlink = kzalloc(sizeof(*tlink), GFP_KERNEL); in cifs_sb_tlink()
4051 tlink = tlink_rb_search(&cifs_sb->tlink_tree, fsuid); in cifs_sb_tlink()
4052 if (tlink) { in cifs_sb_tlink()
4053 cifs_get_tlink(tlink); in cifs_sb_tlink()
4058 tlink = newtlink; in cifs_sb_tlink()
4059 tlink_rb_insert(&cifs_sb->tlink_tree, tlink); in cifs_sb_tlink()
4063 ret = wait_on_bit(&tlink->tl_flags, TCON_LINK_PENDING, in cifs_sb_tlink()
4066 cifs_put_tlink(tlink); in cifs_sb_tlink()
4071 if (!IS_ERR(tlink->tl_tcon)) in cifs_sb_tlink()
4072 return tlink; in cifs_sb_tlink()
4075 if (time_before(jiffies, tlink->tl_time + TLINK_ERROR_EXPIRE)) { in cifs_sb_tlink()
4076 cifs_put_tlink(tlink); in cifs_sb_tlink()
4080 if (test_and_set_bit(TCON_LINK_PENDING, &tlink->tl_flags)) in cifs_sb_tlink()
4084 tlink->tl_tcon = cifs_construct_tcon(cifs_sb, fsuid); in cifs_sb_tlink()
4085 clear_bit(TCON_LINK_PENDING, &tlink->tl_flags); in cifs_sb_tlink()
4086 wake_up_bit(&tlink->tl_flags, TCON_LINK_PENDING); in cifs_sb_tlink()
4088 if (IS_ERR(tlink->tl_tcon)) { in cifs_sb_tlink()
4089 cifs_put_tlink(tlink); in cifs_sb_tlink()
4093 return tlink; in cifs_sb_tlink()
4108 struct tcon_link *tlink; in cifs_prune_tlinks() local
4122 tlink = rb_entry(tmp, struct tcon_link, tl_rbnode); in cifs_prune_tlinks()
4124 if (test_bit(TCON_LINK_MASTER, &tlink->tl_flags) || in cifs_prune_tlinks()
4125 atomic_read(&tlink->tl_count) != 0 || in cifs_prune_tlinks()
4126 time_after(tlink->tl_time + TLINK_IDLE_EXPIRE, jiffies)) in cifs_prune_tlinks()
4129 cifs_get_tlink(tlink); in cifs_prune_tlinks()
4130 clear_bit(TCON_LINK_IN_TREE, &tlink->tl_flags); in cifs_prune_tlinks()
4134 cifs_put_tlink(tlink); in cifs_prune_tlinks()