Lines Matching refs:pool

121 static void kvp_acquire_lock(int pool)  in kvp_acquire_lock()  argument
126 if (fcntl(kvp_file_info[pool].fd, F_SETLKW, &fl) == -1) { in kvp_acquire_lock()
127 syslog(LOG_ERR, "Failed to acquire the lock pool: %d; error: %d %s", pool, in kvp_acquire_lock()
133 static void kvp_release_lock(int pool) in kvp_release_lock() argument
138 if (fcntl(kvp_file_info[pool].fd, F_SETLK, &fl) == -1) { in kvp_release_lock()
139 syslog(LOG_ERR, "Failed to release the lock pool: %d; error: %d %s", pool, in kvp_release_lock()
145 static void kvp_update_file(int pool) in kvp_update_file() argument
153 kvp_acquire_lock(pool); in kvp_update_file()
155 filep = fopen(kvp_file_info[pool].fname, "we"); in kvp_update_file()
157 syslog(LOG_ERR, "Failed to open file, pool: %d; error: %d %s", pool, in kvp_update_file()
159 kvp_release_lock(pool); in kvp_update_file()
163 fwrite(kvp_file_info[pool].records, sizeof(struct kvp_record), in kvp_update_file()
164 kvp_file_info[pool].num_records, filep); in kvp_update_file()
167 kvp_release_lock(pool); in kvp_update_file()
168 syslog(LOG_ERR, "Failed to write file, pool: %d", pool); in kvp_update_file()
172 kvp_release_lock(pool); in kvp_update_file()
175 static void kvp_update_mem_state(int pool) in kvp_update_mem_state() argument
179 struct kvp_record *record = kvp_file_info[pool].records; in kvp_update_mem_state()
181 int num_blocks = kvp_file_info[pool].num_blocks; in kvp_update_mem_state()
184 kvp_acquire_lock(pool); in kvp_update_mem_state()
186 filep = fopen(kvp_file_info[pool].fname, "re"); in kvp_update_mem_state()
188 syslog(LOG_ERR, "Failed to open file, pool: %d; error: %d %s", pool, in kvp_update_mem_state()
190 kvp_release_lock(pool); in kvp_update_mem_state()
200 syslog(LOG_ERR, "Failed to read file, pool: %d", pool); in kvp_update_mem_state()
220 kvp_file_info[pool].num_blocks = num_blocks; in kvp_update_mem_state()
221 kvp_file_info[pool].records = record; in kvp_update_mem_state()
222 kvp_file_info[pool].num_records = records_read; in kvp_update_mem_state()
225 kvp_release_lock(pool); in kvp_update_mem_state()
309 static int kvp_key_delete(int pool, const __u8 *key, int key_size) in kvp_key_delete() argument
319 kvp_update_mem_state(pool); in kvp_key_delete()
321 num_records = kvp_file_info[pool].num_records; in kvp_key_delete()
322 record = kvp_file_info[pool].records; in kvp_key_delete()
332 kvp_file_info[pool].num_records--; in kvp_key_delete()
333 kvp_update_file(pool); in kvp_key_delete()
345 kvp_file_info[pool].num_records--; in kvp_key_delete()
346 kvp_update_file(pool); in kvp_key_delete()
352 static int kvp_key_add_or_modify(int pool, const __u8 *key, int key_size, in kvp_key_add_or_modify() argument
367 kvp_update_mem_state(pool); in kvp_key_add_or_modify()
369 num_records = kvp_file_info[pool].num_records; in kvp_key_add_or_modify()
370 record = kvp_file_info[pool].records; in kvp_key_add_or_modify()
371 num_blocks = kvp_file_info[pool].num_blocks; in kvp_key_add_or_modify()
381 kvp_update_file(pool); in kvp_key_add_or_modify()
395 kvp_file_info[pool].num_blocks++; in kvp_key_add_or_modify()
400 kvp_file_info[pool].records = record; in kvp_key_add_or_modify()
401 kvp_file_info[pool].num_records++; in kvp_key_add_or_modify()
402 kvp_update_file(pool); in kvp_key_add_or_modify()
406 static int kvp_get_value(int pool, const __u8 *key, int key_size, __u8 *value, in kvp_get_value() argument
420 kvp_update_mem_state(pool); in kvp_get_value()
422 num_records = kvp_file_info[pool].num_records; in kvp_get_value()
423 record = kvp_file_info[pool].records; in kvp_get_value()
438 static int kvp_pool_enumerate(int pool, int index, __u8 *key, int key_size, in kvp_pool_enumerate() argument
446 kvp_update_mem_state(pool); in kvp_pool_enumerate()
447 record = kvp_file_info[pool].records; in kvp_pool_enumerate()
449 if (index >= kvp_file_info[pool].num_records) { in kvp_pool_enumerate()
1406 int pool; in main() local
1503 pool = hv_msg->kvp_hdr.pool; in main()
1569 if (kvp_key_add_or_modify(pool, in main()
1578 if (kvp_get_value(pool, in main()
1587 if (kvp_key_delete(pool, in main()
1605 if (pool != KVP_POOL_AUTO) { in main()
1606 if (kvp_pool_enumerate(pool, in main()