Lines Matching refs:bf
61 void build_dirs(struct benchfiles *bf) in build_dirs() argument
66 if (mkdir(bf->basedir, S_IRWXU) < 0) in build_dirs()
68 perror(bf->basedir); in build_dirs()
71 for (i = 0; i < bf->numsubdirs; i++) { in build_dirs()
73 bf->basedir, bf->basename, SUBDIRNAME_BASE, i); in build_dirs()
107 void destroy_filelist(struct benchfiles *bf) in destroy_filelist() argument
109 free(bf->basedir); in destroy_filelist()
110 free(bf->basename); in destroy_filelist()
112 while (!cl_empty(bf->holes)) { in destroy_filelist()
113 struct ffsb_file *cur = cl_remove_head(bf->holes); in destroy_filelist()
116 free(bf->holes); in destroy_filelist()
117 rbtree_clean(bf->files, file_destructor); in destroy_filelist()
118 free(bf->files); in destroy_filelist()
308 struct ffsb_file *choose_file_reader(struct benchfiles *bf, randdata_t * rd) in choose_file_reader() argument
312 rw_lock_read(&bf->fileslock); in choose_file_reader()
316 assert(bf->holes->count != bf->listsize); in choose_file_reader()
318 ret = choose_file(bf, rd); in choose_file_reader()
320 rw_unlock_read(&bf->fileslock); in choose_file_reader()
321 return choose_file_reader(bf, rd); in choose_file_reader()
324 rw_unlock_read(&bf->fileslock); in choose_file_reader()
328 struct ffsb_file *choose_file_writer(struct benchfiles *bf, randdata_t * rd) in choose_file_writer() argument
332 rw_lock_read(&bf->fileslock); in choose_file_writer()
333 assert(bf->holes->count != bf->listsize); in choose_file_writer()
334 ret = choose_file(bf, rd); in choose_file_writer()
337 rw_unlock_read(&bf->fileslock); in choose_file_writer()
338 return choose_file_writer(bf, rd); in choose_file_writer()
341 rw_unlock_read(&bf->fileslock); in choose_file_writer()
362 int validate_filename(struct benchfiles *bf, char *name) in validate_filename() argument
367 "%s%s%%d", bf->basename, FILENAME_BASE)) { in validate_filename()
376 int validate_dirname(struct benchfiles *bf, char *name) in validate_dirname() argument
381 bf->basename, SUBDIRNAME_BASE)) { in validate_dirname()
395 static int add_dir_to_filelist(struct benchfiles *bf, DIR * subdir, in add_dir_to_filelist() argument
416 if (validate_filename(bf, d_ent->d_name) < 0) { in add_dir_to_filelist()
422 if (vfunc(bf, filename_buf, vf_data)) { in add_dir_to_filelist()
429 add_file_named(bf, ffsb_get_filesize(filename_buf), in add_dir_to_filelist()
439 if (validate_dirname(bf, d_ent->d_name) < 0) { in add_dir_to_filelist()
445 if (vfunc(bf, filename_buf, vf_data)) { in add_dir_to_filelist()
452 bf->numsubdirs++; in add_dir_to_filelist()
455 retval += add_dir_to_filelist(bf, tmp, filename_buf, in add_dir_to_filelist()
465 int grab_old_fileset(struct benchfiles *bf, char *basename, in grab_old_fileset() argument
472 if (FILENAME_MAX < snprintf(buf, FILENAME_MAX, "%s", bf->basedir)) { in grab_old_fileset()
483 retval = add_dir_to_filelist(bf, lc_dir, buf, vfunc, vfunc_data); in grab_old_fileset()
490 uint32_t get_listsize(struct benchfiles * bf) in get_listsize() argument
492 return bf->listsize; in get_listsize()
496 uint32_t get_numsubdirs(struct benchfiles * bf) in get_numsubdirs() argument
498 return bf->numsubdirs; in get_numsubdirs()