Lines Matching refs:dcs
53 static inline unsigned long dcookie_value(struct dcookie_struct * dcs) in dcookie_value() argument
55 return (unsigned long)dcs->path.dentry; in dcookie_value()
68 struct dcookie_struct * dcs; in find_dcookie() local
75 dcs = list_entry(pos, struct dcookie_struct, hash_list); in find_dcookie()
76 if (dcookie_value(dcs) == dcookie) { in find_dcookie()
77 found = dcs; in find_dcookie()
86 static void hash_dcookie(struct dcookie_struct * dcs) in hash_dcookie() argument
88 struct list_head * list = dcookie_hashtable + dcookie_hash(dcookie_value(dcs)); in hash_dcookie()
89 list_add(&dcs->hash_list, list); in hash_dcookie()
95 struct dcookie_struct *dcs = kmem_cache_alloc(dcookie_cache, in alloc_dcookie() local
98 if (!dcs) in alloc_dcookie()
106 dcs->path = *path; in alloc_dcookie()
108 hash_dcookie(dcs); in alloc_dcookie()
109 return dcs; in alloc_dcookie()
119 struct dcookie_struct * dcs; in get_dcookie() local
129 dcs = find_dcookie((unsigned long)path->dentry); in get_dcookie()
131 dcs = alloc_dcookie(path); in get_dcookie()
132 if (!dcs) { in get_dcookie()
138 *cookie = dcookie_value(dcs); in get_dcookie()
156 struct dcookie_struct * dcs; in SYSCALL_DEFINE3() local
171 if (!(dcs = find_dcookie(cookie))) in SYSCALL_DEFINE3()
180 path = d_path(&dcs->path, kbuf, PAGE_SIZE); in SYSCALL_DEFINE3()
271 static void free_dcookie(struct dcookie_struct * dcs) in free_dcookie() argument
273 struct dentry *d = dcs->path.dentry; in free_dcookie()
279 path_put(&dcs->path); in free_dcookie()
280 kmem_cache_free(dcookie_cache, dcs); in free_dcookie()
289 struct dcookie_struct * dcs; in dcookie_exit() local
295 dcs = list_entry(pos, struct dcookie_struct, hash_list); in dcookie_exit()
296 list_del(&dcs->hash_list); in dcookie_exit()
297 free_dcookie(dcs); in dcookie_exit()