Lines Matching refs:dip
75 static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode, in jfs_create() argument
87 jfs_info("jfs_create: dip:0x%p name:%pd", dip, dentry); in jfs_create()
89 dquot_initialize(dip); in jfs_create()
103 ip = ialloc(dip, mode); in jfs_create()
109 tid = txBegin(dip->i_sb, 0); in jfs_create()
111 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_create()
114 rc = jfs_init_acl(tid, ip, dip); in jfs_create()
118 rc = jfs_init_security(tid, ip, dip, &dentry->d_name); in jfs_create()
124 if ((rc = dtSearch(dip, &dname, &ino, &btstack, JFS_CREATE))) { in jfs_create()
135 iplist[0] = dip; in jfs_create()
148 if ((rc = dtInsert(tid, dip, &dname, &ino, &btstack))) { in jfs_create()
163 dip->i_ctime = dip->i_mtime = CURRENT_TIME; in jfs_create()
165 mark_inode_dirty(dip); in jfs_create()
172 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_create()
208 static int jfs_mkdir(struct inode *dip, struct dentry *dentry, umode_t mode) in jfs_mkdir() argument
219 jfs_info("jfs_mkdir: dip:0x%p name:%pd", dip, dentry); in jfs_mkdir()
221 dquot_initialize(dip); in jfs_mkdir()
235 ip = ialloc(dip, S_IFDIR | mode); in jfs_mkdir()
241 tid = txBegin(dip->i_sb, 0); in jfs_mkdir()
243 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_mkdir()
246 rc = jfs_init_acl(tid, ip, dip); in jfs_mkdir()
250 rc = jfs_init_security(tid, ip, dip, &dentry->d_name); in jfs_mkdir()
256 if ((rc = dtSearch(dip, &dname, &ino, &btstack, JFS_CREATE))) { in jfs_mkdir()
267 iplist[0] = dip; in jfs_mkdir()
273 dtInitRoot(tid, ip, dip->i_ino); in jfs_mkdir()
280 if ((rc = dtInsert(tid, dip, &dname, &ino, &btstack))) { in jfs_mkdir()
296 inc_nlink(dip); /* for '..' from child directory */ in jfs_mkdir()
297 dip->i_ctime = dip->i_mtime = CURRENT_TIME; in jfs_mkdir()
298 mark_inode_dirty(dip); in jfs_mkdir()
305 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_mkdir()
345 static int jfs_rmdir(struct inode *dip, struct dentry *dentry) in jfs_rmdir() argument
355 jfs_info("jfs_rmdir: dip:0x%p name:%pd", dip, dentry); in jfs_rmdir()
358 dquot_initialize(dip); in jfs_rmdir()
371 tid = txBegin(dip->i_sb, 0); in jfs_rmdir()
373 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_rmdir()
376 iplist[0] = dip; in jfs_rmdir()
387 if ((rc = dtDelete(tid, dip, &dname, &ino, JFS_REMOVE))) { in jfs_rmdir()
393 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_rmdir()
401 dip->i_ctime = dip->i_mtime = CURRENT_TIME; in jfs_rmdir()
402 inode_dec_link_count(dip); in jfs_rmdir()
430 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_rmdir()
436 if (test_cflag(COMMIT_Stale, dip)) { in jfs_rmdir()
437 if (dip->i_size > 1) in jfs_rmdir()
438 jfs_truncate_nolock(dip, 0); in jfs_rmdir()
440 clear_cflag(COMMIT_Stale, dip); in jfs_rmdir()
471 static int jfs_unlink(struct inode *dip, struct dentry *dentry) in jfs_unlink() argument
483 jfs_info("jfs_unlink: dip:0x%p name:%pd", dip, dentry); in jfs_unlink()
486 dquot_initialize(dip); in jfs_unlink()
494 tid = txBegin(dip->i_sb, 0); in jfs_unlink()
496 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_unlink()
499 iplist[0] = dip; in jfs_unlink()
506 if ((rc = dtDelete(tid, dip, &dname, &ino, JFS_REMOVE))) { in jfs_unlink()
512 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_unlink()
519 ip->i_ctime = dip->i_ctime = dip->i_mtime = CURRENT_TIME; in jfs_unlink()
520 mark_inode_dirty(dip); in jfs_unlink()
535 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_unlink()
564 mutex_unlock(&JFS_IP(dip)->commit_mutex); in jfs_unlink()
567 tid = txBegin(dip->i_sb, 0); in jfs_unlink()
588 if (test_cflag(COMMIT_Stale, dip)) { in jfs_unlink()
589 if (dip->i_size > 1) in jfs_unlink()
590 jfs_truncate_nolock(dip, 0); in jfs_unlink()
592 clear_cflag(COMMIT_Stale, dip); in jfs_unlink()
873 static int jfs_symlink(struct inode *dip, struct dentry *dentry, in jfs_symlink() argument
893 jfs_info("jfs_symlink: dip:0x%p name:%s", dip, name); in jfs_symlink()
895 dquot_initialize(dip); in jfs_symlink()
911 ip = ialloc(dip, S_IFLNK | 0777); in jfs_symlink()
917 tid = txBegin(dip->i_sb, 0); in jfs_symlink()
919 mutex_lock_nested(&JFS_IP(dip)->commit_mutex, COMMIT_MUTEX_PARENT); in jfs_symlink()
922 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; 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()
1437 static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, unsigned int flags) in jfs_lookup() argument
1449 rc = dtSearch(dip, &key, &inum, &btstack, JFS_LOOKUP); in jfs_lookup()
1457 ip = jfs_iget(dip->i_sb, inum); in jfs_lookup()