Lines Matching refs:file
301 static int ubifs_printdir(struct file *file, void *dirent) in ubifs_printdir() argument
307 struct inode *dir = file->f_path.dentry->d_inode; in ubifs_printdir()
310 dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, file->f_pos); in ubifs_printdir()
312 if (file->f_pos > UBIFS_S_KEY_HASH_MASK || file->f_pos == 2) in ubifs_printdir()
319 if (file->f_pos == 1) { in ubifs_printdir()
329 file->f_pos = key_hash_flash(c, &dent->key); in ubifs_printdir()
330 file->private_data = dent; in ubifs_printdir()
333 dent = file->private_data; in ubifs_printdir()
340 dent_key_init_hash(c, &key, dir->i_ino, file->f_pos); in ubifs_printdir()
347 file->f_pos = key_hash_flash(c, &dent->key); in ubifs_printdir()
348 file->private_data = dent; in ubifs_printdir()
374 kfree(file->private_data); in ubifs_printdir()
375 file->f_pos = key_hash_flash(c, &dent->key); in ubifs_printdir()
376 file->private_data = dent; in ubifs_printdir()
386 kfree(file->private_data); in ubifs_printdir()
387 file->private_data = NULL; in ubifs_printdir()
388 file->f_pos = 2; in ubifs_printdir()
400 struct file *file; in ubifs_finddir() local
405 file = kzalloc(sizeof(struct file), 0); in ubifs_finddir()
408 if (!file || !dentry || !dir) { in ubifs_finddir()
415 file->f_path.dentry = dentry; in ubifs_finddir()
416 file->f_path.dentry->d_parent = dentry; in ubifs_finddir()
417 file->f_path.dentry->d_inode = dir; in ubifs_finddir()
418 file->f_path.dentry->d_inode->i_ino = root_inum; in ubifs_finddir()
421 dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, file->f_pos); in ubifs_finddir()
432 file->f_pos = key_hash_flash(c, &dent->key); in ubifs_finddir()
433 file->private_data = dent; in ubifs_finddir()
460 kfree(file->private_data); in ubifs_finddir()
461 file->f_pos = key_hash_flash(c, &dent->key); in ubifs_finddir()
462 file->private_data = dent; in ubifs_finddir()
471 kfree(file->private_data); in ubifs_finddir()
472 free(file); in ubifs_finddir()
588 struct file *file; in ubifs_ls() local
602 file = kzalloc(sizeof(struct file), 0); in ubifs_ls()
605 if (!file || !dentry || !dir) { in ubifs_ls()
612 file->f_path.dentry = dentry; in ubifs_ls()
613 file->f_path.dentry->d_parent = dentry; in ubifs_ls()
614 file->f_path.dentry->d_inode = dir; in ubifs_ls()
615 file->f_path.dentry->d_inode->i_ino = inum; in ubifs_ls()
616 file->f_pos = 1; in ubifs_ls()
617 file->private_data = NULL; in ubifs_ls()
618 ubifs_printdir(file, dirent); in ubifs_ls()
621 if (file) in ubifs_ls()
622 free(file); in ubifs_ls()