• Home
  • Raw
  • Download

Lines Matching refs:dentry

56 static struct dentry *devices_usbfs_dentry;
192 static void update_special(struct dentry *special) in update_special()
199 static void update_dev(struct dentry *dev) in update_dev()
206 static void update_bus(struct dentry *bus) in update_bus()
208 struct dentry *dev = NULL; in update_bus()
225 struct dentry *root = sb->s_root; in update_sb()
226 struct dentry *bus = NULL; in update_sb()
303 static int usbfs_mknod (struct inode *dir, struct dentry *dentry, int mode, in usbfs_mknod() argument
309 if (dentry->d_inode) in usbfs_mknod()
313 d_instantiate(dentry, inode); in usbfs_mknod()
314 dget(dentry); in usbfs_mknod()
320 static int usbfs_mkdir (struct inode *dir, struct dentry *dentry, int mode) in usbfs_mkdir() argument
325 res = usbfs_mknod (dir, dentry, mode, 0); in usbfs_mkdir()
331 static int usbfs_create (struct inode *dir, struct dentry *dentry, int mode) in usbfs_create() argument
334 return usbfs_mknod (dir, dentry, mode, 0); in usbfs_create()
337 static inline int usbfs_positive (struct dentry *dentry) in usbfs_positive() argument
339 return dentry->d_inode && !d_unhashed(dentry); in usbfs_positive()
342 static int usbfs_empty (struct dentry *dentry) in usbfs_empty() argument
348 list_for_each(list, &dentry->d_subdirs) { in usbfs_empty()
349 struct dentry *de = list_entry(list, struct dentry, d_u.d_child); in usbfs_empty()
360 static int usbfs_unlink (struct inode *dir, struct dentry *dentry) in usbfs_unlink() argument
362 struct inode *inode = dentry->d_inode; in usbfs_unlink()
364 drop_nlink(dentry->d_inode); in usbfs_unlink()
365 dput(dentry); in usbfs_unlink()
367 d_delete(dentry); in usbfs_unlink()
371 static int usbfs_rmdir(struct inode *dir, struct dentry *dentry) in usbfs_rmdir() argument
374 struct inode * inode = dentry->d_inode; in usbfs_rmdir()
377 dentry_unhash(dentry); in usbfs_rmdir()
378 if (usbfs_empty(dentry)) { in usbfs_rmdir()
379 drop_nlink(dentry->d_inode); in usbfs_rmdir()
380 drop_nlink(dentry->d_inode); in usbfs_rmdir()
381 dput(dentry); in usbfs_rmdir()
388 d_delete(dentry); in usbfs_rmdir()
389 dput(dentry); in usbfs_rmdir()
411 mutex_lock(&file->f_path.dentry->d_inode->i_mutex); in default_file_lseek()
428 mutex_unlock(&file->f_path.dentry->d_inode->i_mutex); in default_file_lseek()
457 struct dentry *root; in usbfs_fill_super()
491 struct dentry *parent, struct dentry **dentry) in fs_create_by_name() argument
511 *dentry = NULL; in fs_create_by_name()
513 *dentry = lookup_one_len(name, parent, strlen(name)); in fs_create_by_name()
514 if (!IS_ERR(dentry)) { in fs_create_by_name()
516 error = usbfs_mkdir (parent->d_inode, *dentry, mode); in fs_create_by_name()
518 error = usbfs_create (parent->d_inode, *dentry, mode); in fs_create_by_name()
520 error = PTR_ERR(dentry); in fs_create_by_name()
526 static struct dentry *fs_create_file (const char *name, mode_t mode, in fs_create_file()
527 struct dentry *parent, void *data, in fs_create_file()
531 struct dentry *dentry; in fs_create_file() local
536 error = fs_create_by_name (name, mode, parent, &dentry); in fs_create_file()
538 dentry = NULL; in fs_create_file()
540 if (dentry->d_inode) { in fs_create_file()
542 dentry->d_inode->i_private = data; in fs_create_file()
544 dentry->d_inode->i_fop = fops; in fs_create_file()
545 dentry->d_inode->i_uid = uid; in fs_create_file()
546 dentry->d_inode->i_gid = gid; in fs_create_file()
550 return dentry; in fs_create_file()
553 static void fs_remove_file (struct dentry *dentry) in fs_remove_file() argument
555 struct dentry *parent = dentry->d_parent; in fs_remove_file()
561 if (usbfs_positive(dentry)) { in fs_remove_file()
562 if (dentry->d_inode) { in fs_remove_file()
563 if (S_ISDIR(dentry->d_inode->i_mode)) in fs_remove_file()
564 usbfs_rmdir(parent->d_inode, dentry); in fs_remove_file()
566 usbfs_unlink(parent->d_inode, dentry); in fs_remove_file()
567 dput(dentry); in fs_remove_file()
592 struct dentry *parent; in create_special_files()
649 struct dentry *parent; in usbfs_add_bus()