Lines Matching refs:dip
62 static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode, in jfs_create() argument
74 jfs_info("jfs_create: dip:0x%p name:%pd", dip, dentry); in jfs_create()
76 rc = dquot_initialize(dip); in jfs_create()
92 ip = ialloc(dip, mode); in jfs_create()
98 tid = txBegin(dip->i_sb, 0); in jfs_create()
100 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_create()
103 rc = jfs_init_acl(tid, ip, dip); in jfs_create()
107 rc = jfs_init_security(tid, ip, dip, &dentry->d_name); in jfs_create()
113 if ((rc = dtSearch(dip, &dname, &ino, &btstack, JFS_CREATE))) { in jfs_create()
124 iplist[0] = dip; in jfs_create()
137 if ((rc = dtInsert(tid, dip, &dname, &ino, &btstack))) { in jfs_create()
152 dip->i_ctime = dip->i_mtime = current_time(dip); in jfs_create()
154 mark_inode_dirty(dip); in jfs_create()
161 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_create()
195 static int jfs_mkdir(struct inode *dip, struct dentry *dentry, umode_t mode) in jfs_mkdir() argument
206 jfs_info("jfs_mkdir: dip:0x%p name:%pd", dip, dentry); in jfs_mkdir()
208 rc = dquot_initialize(dip); in jfs_mkdir()
224 ip = ialloc(dip, S_IFDIR | mode); in jfs_mkdir()
230 tid = txBegin(dip->i_sb, 0); in jfs_mkdir()
232 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_mkdir()
235 rc = jfs_init_acl(tid, ip, dip); in jfs_mkdir()
239 rc = jfs_init_security(tid, ip, dip, &dentry->d_name); in jfs_mkdir()
245 if ((rc = dtSearch(dip, &dname, &ino, &btstack, JFS_CREATE))) { in jfs_mkdir()
256 iplist[0] = dip; in jfs_mkdir()
262 dtInitRoot(tid, ip, dip->i_ino); in jfs_mkdir()
269 if ((rc = dtInsert(tid, dip, &dname, &ino, &btstack))) { in jfs_mkdir()
285 inc_nlink(dip); /* for '..' from child directory */ in jfs_mkdir()
286 dip->i_ctime = dip->i_mtime = current_time(dip); in jfs_mkdir()
287 mark_inode_dirty(dip); in jfs_mkdir()
294 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_mkdir()
332 static int jfs_rmdir(struct inode *dip, struct dentry *dentry) in jfs_rmdir() argument
342 jfs_info("jfs_rmdir: dip:0x%p name:%pd", dip, dentry); in jfs_rmdir()
345 rc = dquot_initialize(dip); in jfs_rmdir()
362 tid = txBegin(dip->i_sb, 0); in jfs_rmdir()
364 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_rmdir()
367 iplist[0] = dip; in jfs_rmdir()
378 if ((rc = dtDelete(tid, dip, &dname, &ino, JFS_REMOVE))) { in jfs_rmdir()
384 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_rmdir()
392 dip->i_ctime = dip->i_mtime = current_time(dip); in jfs_rmdir()
393 inode_dec_link_count(dip); in jfs_rmdir()
421 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_rmdir()
427 if (test_cflag(COMMIT_Stale, dip)) { in jfs_rmdir()
428 if (dip->i_size > 1) in jfs_rmdir()
429 jfs_truncate_nolock(dip, 0); in jfs_rmdir()
431 clear_cflag(COMMIT_Stale, dip); in jfs_rmdir()
462 static int jfs_unlink(struct inode *dip, struct dentry *dentry) in jfs_unlink() argument
474 jfs_info("jfs_unlink: dip:0x%p name:%pd", dip, dentry); in jfs_unlink()
477 rc = dquot_initialize(dip); in jfs_unlink()
489 tid = txBegin(dip->i_sb, 0); in jfs_unlink()
491 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_unlink()
494 iplist[0] = dip; in jfs_unlink()
501 if ((rc = dtDelete(tid, dip, &dname, &ino, JFS_REMOVE))) { in jfs_unlink()
507 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_unlink()
514 ip->i_ctime = dip->i_ctime = dip->i_mtime = current_time(ip); in jfs_unlink()
515 mark_inode_dirty(dip); in jfs_unlink()
530 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_unlink()
559 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_unlink()
562 tid = txBegin(dip->i_sb, 0); in jfs_unlink()
583 if (test_cflag(COMMIT_Stale, dip)) { in jfs_unlink()
584 if (dip->i_size > 1) in jfs_unlink()
585 jfs_truncate_nolock(dip, 0); in jfs_unlink()
587 clear_cflag(COMMIT_Stale, dip); in jfs_unlink()
871 static int jfs_symlink(struct inode *dip, struct dentry *dentry, in jfs_symlink() argument
890 jfs_info("jfs_symlink: dip:0x%p name:%s", dip, name); in jfs_symlink()
892 rc = dquot_initialize(dip); in jfs_symlink()
910 ip = ialloc(dip, S_IFLNK | 0777); in jfs_symlink()
916 tid = txBegin(dip->i_sb, 0); in jfs_symlink()
918 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_symlink()
921 rc = jfs_init_security(tid, ip, dip, &dentry->d_name); in jfs_symlink()
1010 rc = dtSearch(dip, &dname, &ino, &btstack, JFS_CREATE); in jfs_symlink()
1013 rc = dtInsert(tid, dip, &dname, &ino, &btstack); in jfs_symlink()
1025 dip->i_ctime = dip->i_mtime = current_time(dip); in jfs_symlink()
1026 mark_inode_dirty(dip); in jfs_symlink()
1031 iplist[0] = dip; in jfs_symlink()
1038 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_symlink()
1441 static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, unsigned int flags) in jfs_lookup() argument
1453 rc = dtSearch(dip, &key, &inum, &btstack, JFS_LOOKUP); in jfs_lookup()
1461 ip = jfs_iget(dip->i_sb, inum); in jfs_lookup()