Lines Matching refs:parent_dentry
421 struct vfs_dir_entry_t *parent_dentry = NULL; in do_open() local
427 parent_dentry = vfs_path_walk(path, 0); in do_open()
428 if (parent_dentry == NULL) in do_open()
436 parent_dentry = vfs_root_sb->root; in do_open()
445 dentry->parent = parent_dentry; in do_open()
448 spin_lock(&parent_dentry->lockref.lock); in do_open()
449 spin_lock(&parent_dentry->dir_inode->lockref.lock); in do_open()
451 …uint64_t retval = parent_dentry->dir_inode->inode_ops->create(parent_dentry->dir_inode, dentry, 0); in do_open()
452 spin_unlock(&parent_dentry->dir_inode->lockref.lock); // 解锁inode in do_open()
460 spin_unlock(&parent_dentry->lockref.lock); in do_open()
467 if (!list_empty(&parent_dentry->subdirs_list)) in do_open()
469 …next_dentry = list_entry(list_next(&parent_dentry->subdirs_list), struct vfs_dir_entry_t, child_no… in do_open()
472 list_add(&parent_dentry->subdirs_list, &dentry->child_node_list); in do_open()
477 spin_unlock(&parent_dentry->lockref.lock); in do_open()