Lines Matching refs:_attr_
115 #define SHAREFS_BUNDLE_ATTRIBUTE(_attr_) \ argument
117 static DEFINE_HASHTABLE(sharefs_##_attr_##_hash_table, 4); \
119 static DEFINE_MUTEX(sharefs_##_attr_##_hash_mutex); \
121 static int query_##_attr_##_hash_entry(struct qstr *str) \
127 mutex_lock(&sharefs_##_attr_##_hash_mutex); \
128 hash_for_each_possible_safe(sharefs_##_attr_##_hash_table, \
135 mutex_unlock(&sharefs_##_attr_##_hash_mutex); \
140 static int insert_##_attr_##_hash_entry(struct qstr *str, int id) \
148 mutex_lock(&sharefs_##_attr_##_hash_mutex); \
149 hash_for_each_possible_safe(sharefs_##_attr_##_hash_table, \
153 mutex_unlock(&sharefs_##_attr_##_hash_mutex); \
157 mutex_unlock(&sharefs_##_attr_##_hash_mutex); \
165 hash_add_rcu(sharefs_##_attr_##_hash_table, &bid_entry->node, \
171 static void remove_##_attr_##_hash_entry(struct qstr *str) \
178 mutex_lock(&sharefs_##_attr_##_hash_mutex); \
179 hash_for_each_possible_safe(sharefs_##_attr_##_hash_table, \
187 mutex_unlock(&sharefs_##_attr_##_hash_mutex); \
190 static void clear_##_attr_##_hash_entry(void) \
198 mutex_lock(&sharefs_##_attr_##_hash_mutex); \
199 hash_for_each_safe(sharefs_##_attr_##_hash_table, index, \
205 mutex_unlock(&sharefs_##_attr_##_hash_mutex); \
208 static int sharefs_##_attr_##_get(const char *bname) \
213 return query_##_attr_##_hash_entry(&str); \
216 static ssize_t sharefs_##_attr_##_show(struct config_item *item, \
225 id = query_##_attr_##_hash_entry(&bitem->str); \
230 static ssize_t sharefs_##_attr_##_store(struct config_item *item, \
247 err = insert_##_attr_##_hash_entry(&bitem->str, id); \
258 static struct configfs_attribute sharefs_##_attr_##_attr = { \
259 .ca_name = __stringify(_attr_), \
262 .show = sharefs_##_attr_##_show, \
263 .store = sharefs_##_attr_##_store, \